在Rust中如果函数需要消耗所有权,则将参数定义为带所有权的类型,如果不需要消耗所有权,则定义成引用,如果只有在某些情况下才需要所有权,则可以定义为
Cow,即写时复制。当调用者无法提供所有权对象时,可以传入引用,仅在需要的时候才会拷贝内存,代码如下。
1 | use std::borrow::Cow; |
测试一下,结果如下:1
2Borrowed: a
Owned: ab
- 本文作者: killf
- 本文链接: https://www.killf.info/编程语言/Rust/极致的Rust-写时复制/
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!