我有一个大型应用程序,其中任务部分是建模对象,另一部分是对象的时间轴支持动画。用户可能会在时间轴仍在为其设置动画时删除可动画对象。
时间轴通过智能指针访问(动画)对象,因此在使用之前通过检查智能指针的有效性来检查对象是否存在将非常容易。但这感觉有点“脏”……就像用安全带固定行李一样。但是我们讨论的任何其他机制都或多或少是相同的:一个对象在其他地方注册并在删除时注销自身,这正是智能指针所做的。
这是测试智能指针有效性的有效用例吗?
最佳答案
在我看来,std::weak_ptr 将适合这项工作。弱指针不保证指针下对象的存在,如果对象将被删除,其他引用动画对象的对象将知道它。总是要使用这个指针,它必须被锁定(强制检查它的存在)。
关于c++ - 使用智能指针进行观察,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31225111/