mirror of
https://github.com/KaiserY/trpl-zh-cn
synced 2024-11-14 04:41:49 +08:00
fix translation about Copy
...and nothing that requires allocation or is some form of resource is `Copy`.
This commit is contained in:
parent
fbebbe75e6
commit
6a7be5d144
@ -245,7 +245,7 @@ println!("x = {}, y = {}", x, y);
|
|||||||
|
|
||||||
Rust 有一个叫做`Copy` trait 的特殊注解,可以用在类似整型这样的储存在栈上的类型(第十章详细讲解 trait)。如果一个类型拥有`Copy` trait,一个旧的变量在(重新)赋值后仍然可用。Rust 不允许自身或其任何部分实现了`Drop` trait 的类型使用`Copy` trait。如果我们对其值离开作用域时需要特殊处理的类型使用`Copy`注解,将会出现一个编译时错误。关于如何为你的类型增加`Copy`注解,请阅读附录 C 中的 Derivable Trait。
|
Rust 有一个叫做`Copy` trait 的特殊注解,可以用在类似整型这样的储存在栈上的类型(第十章详细讲解 trait)。如果一个类型拥有`Copy` trait,一个旧的变量在(重新)赋值后仍然可用。Rust 不允许自身或其任何部分实现了`Drop` trait 的类型使用`Copy` trait。如果我们对其值离开作用域时需要特殊处理的类型使用`Copy`注解,将会出现一个编译时错误。关于如何为你的类型增加`Copy`注解,请阅读附录 C 中的 Derivable Trait。
|
||||||
|
|
||||||
那么什么类型是`Copy`的呢?可以查看给定类型的文档来确认,不过作为一个通用的规则,任何简单标量值的组合可以是`Copy`的,任何不需要分配内存或类似形式资源的类型是`Copy`的,如下是一些`Copy`的类型:
|
那么什么类型是`Copy`的呢?可以查看给定类型的文档来确认,不过作为一个通用的规则,任何简单标量值的组合可以是`Copy`的,任何需要分配内存,或者本身就是某种形式资源的类型不会是`Copy`的。如下是一些`Copy`的类型:
|
||||||
|
|
||||||
* 所有整数类型,比如`u32`。
|
* 所有整数类型,比如`u32`。
|
||||||
* 布尔类型,`bool`,它的值是`true`和`false`。
|
* 布尔类型,`bool`,它的值是`true`和`false`。
|
||||||
|
Loading…
Reference in New Issue
Block a user