struct Haha {
pub a: u32,
pub b: Vec<u32>,
}
let example = Haha {
a: 32,
b: vec![1],
};
let new_a = example.a;
let new_b = example.b;
我理解的是:
new_a
是example.a
的一个拷贝,所以example
仍然拥有example.a
。new_b
现在拥有example.b
,因为example.b
已经被移动了。
Copy
特性而隐式地复制 example.a
呢?由于 example.b
是一个 Vec
,没有实现 Copy
特性,所以所有权被移动而不是被复制?