所有权和复制特征

一些 Rust 类型实现了 Copy 特性。可以在不拥有相关值的情况下移动 Copy 的类型。这是因为值的内容可以简单地在内存中逐字节复制,以产生新的相同值。Rust(boolusizef64 等)中的大多数原始人都是 Copy

let x: isize = 42;
let xr = &x;
let y = *xr; // OK, because isize is Copy
// both x and y are owned here

值得注意的是,VecString 不是 Copy

let x = Vec::new();
let xr = &x;
let y = *xr; // ERROR, cannot move out of borrowed content