mirror of
https://github.com/KaiserY/trpl-zh-cn
synced 2025-04-06 11:48:03 +08:00
update ch04-01
This commit is contained in:
parent
0cc19d0cae
commit
ca8c649a76
@ -199,7 +199,7 @@ Rust 采取了一个不同的策略:内存在拥有它的变量离开作用域
|
||||
|
||||
Rust 有一个叫做 `Copy` trait 的特殊注解,可以用在类似整型这样的存储在栈上的类型上(第十章详细讲解 trait)。如果一个类型实现了 `Copy` trait,那么一个旧的变量在将其赋值给其他变量后仍然可用。Rust 不允许自身或其任何部分实现了 `Drop` trait 的类型使用 `Copy` trait。如果我们对其值离开作用域时需要特殊处理的类型使用 `Copy` 注解,将会出现一个编译时错误。要学习如何为你的类型添加 `Copy` 注解以实现该 trait,请阅读附录 C 中的 [“可派生的 trait”][derivable-traits]。
|
||||
|
||||
那么哪些类型实现了 `Copy` trait 呢?你可以查看给定类型的文档来确认,不过作为一个通用的规则,任何一组简单标量值的组合都可以实现 `Copy`,任何不需要分配内存或某种形式资源的类型都可以实现 `Copy` 。如下是一些 `Copy` 的类型:
|
||||
那么哪些类型实现了 `Copy` trait 呢?你可以查看给定类型的文档来确认,不过作为一个通用的规则,任何一组简单标量值的组合都可以实现 `Copy`,任何不需要在堆上分配内存或某种形式资源的类型都可以实现 `Copy` 。如下是一些 `Copy` 的类型:
|
||||
|
||||
* 所有整数类型,比如 `u32`。
|
||||
* 布尔类型,`bool`,它的值是 `true` 和 `false`。
|
||||
|
Loading…
Reference in New Issue
Block a user