【发布时间】:2018-08-07 23:13:18
【问题描述】:
当我阅读Rust documentation on generics 时,我发现了一个关于所有权的奇怪问题。看下面的sn-p:
fn main() {
let number_list = vec![34, 50, 25, 100, 65];
let mut largest = number_list[0];
for number in number_list {
if number > largest {
largest = number;
}
}
println!("The largest number is {}", largest);
}
为什么largest 不获取vector 的第一个元素的所有权?我发现在之前的chapter about vectors 中,使用借用语法let largest = &v[0] 会取得元素的所有权。为什么这段代码会通过编译器?
【问题讨论】:
-
整数实现复制所以它是一个副本。