c++ - 使用智能指针进行观察

标签 c++ pointers

我有一个大型应用程序,其中任务部分是建模对象,另一部分是对象的时间轴支持动画。用户可能会在时间轴仍在为其设置动画时删除可动画对象。

时间轴通过智能指针访问(动画)对象,因此在使用之前通过检查智能指针的有效性来检查对象是否存在将非常容易。但这感觉有点“脏”……就像用安全带固定行李一样。但是我们讨论的任何其他机制都或多或少是相同的:一个对象在其他地方注册并在删除时注销自身,这正是智能指针所做的。

这是测试智能指针有效性的有效用例吗?

最佳答案

在我看来,std::weak_ptr 将适合这项工作。弱指针不保证指针下对象的存在,如果对象将被删除,其他引用动画对象的对象将知道它。总是要使用这个指针,它必须被锁定(强制检查它的存在)。

关于c++ - 使用智能指针进行观察,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31225111/

相关文章:

c++ - 使用 Win32 的带有主题的透明单选按钮控件

c++ - c++ 指针在此代码中的作用

c - C 中的指针 : why is the * needed in *address_of_x = &x when getting the address of x?

c++ - 函数指针如何替代 switch 语句?

c - 在 C 中编写方法时遇到问题,包括指针和类型

c++ - 在C++中打印出文件的第n列

c++ - 无法在Visual Studio中的Bash中运行文件

c++ - 用于 C/C++ 的可移植且简单的 unicode 字符串库?

c++ - 如何在文件仍处于打开状态时删除文本文件的内容(无需重新打开文件)?

c++ - 在 C++ 中拥有多个指向单个对象的指针的正确方法是什么?