有人告诉我只写单例作为本地类,是这样吗?
我想知道为什么使用本地类可以保证线程安全。
最佳答案
#include <boost/utility.hpp>
class singleton : private boost::noncopyable {
public:
static singleton& instance() {
static singleton inst;
return inst;
}
private:
singleton() = default;
~singleton() = default;
};
局部静态变量的构造保证是线程安全的。
另外,不惜一切代价避免单例。它们和全局变量一样可怕。
关于c++ - 在 C++ 中,要确保单例线程安全,该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21212956/