duty of dropping 是一方面吧。
主要还是强调唯一性,类似于unique_ptr的感觉。
【 在 beep 的大作中提到: 】
: ownership 其实是一个比喻性的概念,对不熟悉这个名词源流的初学者来说,往往一头雾水。所以想讨论一下,这个东西的核心本质是不是其实就是说 duty of dropping?
: 我自己目前的结论是,“所有权”主要就是等价于“析构责”,一个变量 own 一个堆资源,其实就是说这个变量需要在他自己出栈销毁的时候负责顺便把那个堆空间也销毁掉(通过 Drop::drop);
: 其次,所有权还影响可变性。如果一个容器性质的变量 C own 很多成员堆资源,那么如果这个容器 C 是一个 mutable place expr, 那么其内部成员,比如 C[index], C.field, *C (C impl DerefMut<T> 但 C 不是 &mut T)也应该是 mutable place expr。当然这一条并不那么重要。
: ...................
--
FROM 58.33.81.*