【发布时间】:2019-02-22 12:12:12
【问题描述】:
如果使用 std::make_shared 创建指向对象的共享指针,并使用指向它的弱指针作为观察者。当共享指针的引用计数为零时,对象不会被释放,因为弱指针使其保持活动状态。 (如果我没记错的话。)假设在对该弱指针调用成员函数 lock() 之后,结果证明它已经过期。现在程序员想调用reset()来触发对象的销毁,因为对象很大。
问题是:reset 是原子操作吗?如果答案是否定的,我的下一个问题是为什么标准不要求它是原子的。
【问题讨论】:
标签: smart-pointers