ZhangHanDong / tao-of-rust-codes

《Rust编程之道》随书源码
https://ruststudy.github.io/tao_of_rust_docs/tao_of_rust/
MIT License
1.18k stars 170 forks source link

[第五章]P122,类似于 #75 问题 #276

Closed xie-jirong closed 4 years ago

xie-jirong commented 4 years ago

页码与行数

P122, 第二段, image


引文错误

不应是,“第4章介绍过”,应该是第三章,3.4节,

Copy 与 Clone 的关系

Copy 依赖于 Clone ,即 pub trait Copy: Clone {} 如果,应该是先定义过并实现了 Clone::clone() 之后,才可以声明 Copy 属性, 那么就不能说,对于实现了 Copy 的类型,其clone只要按位复制即可。 应该说,只有 clone是按位复制,才是可以实现 Copy 的类型。

后文代码清单 5-4 的错误信息,也说明 “只有可以按位复制,方可实现 Copy trait“。

如何?

ZhangHanDong commented 4 years ago

@xie-jirong 感谢反馈。

对于实现了Copy的类型,clone是编译器自动给加的,「按位复制即可」指的是编译器自动生成「按位复制即可」。 上下文应该有介绍,在赋值的时候,如果是Copy,那自动隐式调用clone按位复制。