gpt4 book ai didi

rust - 为什么在不使用引用的情况下获得向量的所有权后仍然可以访问向量的元素?

转载 作者:行者123 更新时间:2023-11-29 08:02:50 24 4
gpt4 key购买 nike

fn main() {
let number_list = vec![1, 2, 3, 4, 5];

let n = number_list[0];
let r = &number_list[0];

println!("{} : {} : {} : {}", n, r, number_list[0], &number_list[0]);
}

输出是:

1 : 1 : 1 : 1

另一个问题是带引用的向量索引和不带引用的非引用有什么区别?

最佳答案

您有一个整数向量 ( i32 to be specific ),i32 实现了 Copy特征。

The index syntax returns a dereferenced value .由于索引类型实现了Copy,因此编译器会隐式地复制它。

cannot take ownership of an item from a vector using the indexing syntax完全没有。

what is the difference between vector indexing with a reference and a non-reference except taking the reference

没有&,值被复制(但只是因为它实现了Copy)。使用 &,您可以引用向量中的值。

关于rust - 为什么在不使用引用的情况下获得向量的所有权后仍然可以访问向量的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51344641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com