首页 > 其他分享 >Rust 的 Cow 使用

Rust 的 Cow 使用

时间:2023-03-02 15:58:35浏览次数:47  
标签:Borrowed mut arr Cow Owned let 使用 Rust

Cow:Copy on Write,只有在发生修改数据的情况下才进行复制。

类型为智能指针的 emun,取值有两种

  • Borrowed,对原始数据的引用
  • Owned,对数据有所有权
let arr: Vec<i32> = vec![1, 2, 3];

// 此时为 arr 的引用
let mut arr_borrowed: Cow<[i32]> = Cow::from(arr); // Borrowed

获得智能指针内部数据的可变引用,进行修改

// 修改前对原始数据进行复制,enum类型改变
arr_borrowed.to_mut()[0] = 1; // Owned

也可以一开始就创建拥有所有权的数据

let arr_owned: Cow<[i32]> = Cow::from(vec![1, 2, 3]); // Owned

标签:Borrowed,mut,arr,Cow,Owned,let,使用,Rust
From: https://www.cnblogs.com/guo-shou/p/17172059.html

相关文章