This issue似乎意味着这只是一个实现细节(memcpy对???),但我找不到任何关于差异的明确描述.

推荐答案

Clone是为任意复制而设计的:T类型的Clone实现可以执行创建新T所需的任意复杂操作.这是一种正常的特征(除了在前奏曲中),因此需要像正常特征一样使用,包括方法调用等.

Copy个特征表示可以通过memcpy安全复制的值:像重新赋值这样的事情,通过值传递一个参数到函数总是memcpys,因此对于Copy种类型,编译器理解它不需要考虑那些a move.

Rust相关问答推荐

抽象RUST中的可变/不可变引用

如何导出 rust 色二进制文件中的符号

在特征中使用Async时,如何解决不透明类型`impl Future<;out=self>;`不满足其关联的类型边界和警告?

如何格式化传入Rust中mysql crate的Pool::new的字符串

如何使用盒装枚举进行模式匹配?

是否可以使用Rust宏来构建元组的项?

写入引用会更新基础值,但引用会打印意外的值

Rust编译器似乎被结果类型与anyhow混淆

这是什么:`impl Trait for T {}`?

在 Rust 中忽略 None 值的正确样式

在描述棋盘时如何最好地使用特征与枚举

为什么 Rust 字符串没有短字符串优化 (SSO)?

Rust中的一生语法有什么作用?

如何使用 Rust Governor 为每 10 秒 10 个请求创建一个 RateLimiter?

如何判断服务器是否正确接收数据

如何使用 rust bindgen 生成的 std_vector

如何在 Rust 中创建最后一个元素是可变长度数组的 struct ?

在 Rust 中为泛型 struct 编写一次特征绑定

类型组的通用枚举

如何在 Rust 中使用特征标志来捕获多行代码?