在 Rust 中按值传递数组

Moon_Raven

我有一个 Rust 函数定义为

fn foo(array: [u32; 100]) {
    // ...
}

调用此函数时,参数是如何传递的?整个数组实际上是“按值传递”(复制到堆栈上),因为数组的类型实现了 Copy 特征?

奥尔普

调用此函数时,参数是如何传递的?整个数组实际上是“按值传递”(复制到堆栈上),因为数组的类型实现了 Copy 特征?

我猜你的意思是[u32; 100]是的,这是按价值传递的。

如果这是不可取的,您可以使用 aBox<[u32; 100]>或仅使用Vec<u32>. 或者,如果您只是希望读取/改变数组而不是获取所有权,则可以分别获取切片 ( &[u32]) 或可变切片 ( &mut [u32])。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章