Rust智能指针Cow
定义
Cow
是一个提供了写时克隆功能的智能指针,它可以包装对数据的借用,当需要修改数据或者获取数据的所有权时,对数据clone
。它的定义如下:
1 | pub enum Cow<'a, B> |
Cow
名为clone-on-write
,但是对数据类型B
的trait
要求是ToOwned
,而不是Clone
。这是因为Clone
只能从&T
生成T
,但是ToOwned
泛化为从任意给定类型的借用数据构建新类型的数据。功能更为强大。
Cow
是一个提供了写时克隆功能的智能指针,它可以包装对数据的借用,当需要修改数据或者获取数据的所有权时,对数据clone
。它的定义如下:
1 | pub enum Cow<'a, B> |
Cow
名为clone-on-write
,但是对数据类型B
的trait
要求是ToOwned
,而不是Clone
。这是因为Clone
只能从&T
生成T
,但是ToOwned
泛化为从任意给定类型的借用数据构建新类型的数据。功能更为强大。Update your browser to view this website correctly.&npsb;Update my browser now