【发布时间】:2016-03-25 11:26:52
【问题描述】:
有一个static shared_ptr<MyClass> get() 内部有一个weak_ptr,它使用ptr.lock() 提供共享指针。
当ptr.lock() 给出一个空指针时,应该再次创建单例。
但是它是否保证(它不)前一个单例的析构函数已经完成?对此有什么办法?
【问题讨论】:
-
你应该有一些同步机制来访问/创建/销毁你的单例......(想知道谁拥有它顺便说一句,如果它在不再使用时立即发布,似乎局部变量完成这项工作)。
标签: c++ multithreading c++11 smart-pointers