这似乎是一个奇怪的问题,但锈蚀中的“内部易变性”单元格总是在与某种共享指针一起使用的上下文中解释和使用。事实上,它本身似乎是非常无用的,因为你得到的内部变化,没有办法分享它。
所以我的问题是:它有用吗?如果它不是(而且从未使用过),那么不提供同样是共享指针的RefCell又有什么意义呢?
发布于 2022-11-01 22:51:27
RefCell并不总是直接在Rc中。例如,这种结构可能非常有用:
use std::cell::RefCell;
struct SharedVec<T> {
inner: RefCell<Vec<T>>,
}
impl<T> SharedVec<T> {
fn push(&self, value: T) {
self.inner.borrow_mut().push(value);
}
fn pop(&self) -> Option<T> {
self.inner.borrow_mut().pop()
}
}然后,您可能有一个Rc<SharedVec<T>>。
https://stackoverflow.com/questions/74282360
复制相似问题