以下代码是否有助于延迟初始化?
或者只要有人包含标题(甚至在程序启动时),就会创建singletonInstance
吗?
class SingletonClass
{
private:
SingletonClass();
~SingletonClass();
public:
static const SingletonClass& Instance()
{
static SingletonClass singletonInstance;
return singletonInstance;
}
};
答案 0 :(得分:15)
这被称为Meyers singleton,它们是懒惰的实例化。
有一些注意事项:
答案 1 :(得分:10)
SingletonClass
构造函数的调用不会早于某些人调用Instance()
方法。
因此,它有助于延迟初始化。