2.5 `Clone`
05-
Clone — Comprehensive Rust1分钟内可阅读完
译文 · 基于 Comprehensive Rust
原文链接: https://google.github.io/comprehensive-rust/memory-management/clone.html
2.5 Clone
有时你_确实想要_拷贝一个值。Clone trait 就是为此准备的。
| |
Clone的用意是让堆分配发生的位置一目了然。请留意.clone(),以及vec!、Box::new等少数其他位置。常见做法是先「用 clone 绕过」借用检查器问题,稍后再回来优化掉这些克隆。
clone一般会做深拷贝:例如克隆数组时,数组的每个元素也会被克隆。
clone的行为由用户定义,因此需要时可以实现自定义克隆逻辑。