Update Ch10

This commit is contained in:
Unisko PENG 2023-04-17 16:49:33 +08:00
parent adcb260f24
commit 31e9c16e03

View File

@ -884,9 +884,9 @@ fn main() {
}
```
*清单 10-16一个使用了值已超出作用域引用的尝试*
*清单 10-16使用了值已超出作用域引用的尝试*
> 注意:清单 10-16、10-17 及 10-23 中的示例,都不带初始值地声明了一些变量,那么变量名就存在于外层作用域中。咋一看,这样做似乎与 Rust 的无空值Rust's having no `null` values特性相抵触。不过在尝试于赋予变量值之前使用某个变量,就会得到一个编译器时错,这就表示 Rust 实际上是不允许空值`null` values 的。
> 注意:清单 10-16、10-17 及 10-23 中的示例,均在不带变量初始值下,声明出了一些变量,而变量名存在于外层作用域中。乍一看,这样做似乎与 Rust 的无空值Rust's having no `null` values特性相抵触。不过当咱们尝试于赋予变量值之前使用某个变量,就会得到一个编译器时错,这就表示 Rust 实际上是不允许空值的。
外层作用域声明了一个名为 `r` 不带初始值的变量,同时内层作用域声明了一个名为 `x` 带有初始值 `5` 的变量。在那个内层作用域里头,这里尝试了将 `r` 的值设置为到 `x` 的一个引用。随后那个内层作用域便结束了,而这里尝试打印 `r` 中的值。由于 `r` 所指向的值,在这里尝试使用之前就已超出作用域,因此此代码不会编译。下面就是错误消息: