我有一个 Rust 函数定义为
fn foo(array: [u32; 100]) {
// ...
}
调用此函数时,参数是如何传递的?整个数组实际上是“按值传递”(复制到堆栈上),因为数组的类型实现了 Copy 特征?
调用此函数时,参数是如何传递的?整个数组实际上是“按值传递”(复制到堆栈上),因为数组的类型实现了 Copy 特征?
我猜你的意思是[u32; 100]
。是的,这是按价值传递的。
如果这是不可取的,您可以使用 aBox<[u32; 100]>
或仅使用Vec<u32>
. 或者,如果您只是希望读取/改变数组而不是获取所有权,则可以分别获取切片 ( &[u32]
) 或可变切片 ( &mut [u32]
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句