Rust智能指针Cow

定义

Cow是一个提供了写时克隆功能的智能指针,它可以包装对数据的借用,当需要修改数据或者获取数据的所有权时,对数据clone。它的定义如下:

1
2
3
4
5
6
7
pub enum Cow<'a, B> 
where
B: 'a + ToOwned + ?Sized,
{
Borrowed(&'a B),
Owned(<B as ToOwned>::Owned),
}
  • Cow名为clone-on-write,但是对数据类型Btrait要求是ToOwned,而不是Clone。这是因为Clone只能从&T生成T,但是ToOwned泛化为从任意给定类型的借用数据构建新类型的数据。功能更为强大。
阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×