我正在学习如何使用C ++实现单例,并且已经阅读了以下链接:C++ Singleton design pattern
我有一个问题:为什么“迈耶·辛格尔顿”可以确保销毁?
class S
{
public:
static S& getInstance()
{
static S instance;
return instance;
}
private:
S() {}
S(S const&);
void operator=(S const&);
};
在我看来,在这种情况下,变量instance
的销毁时间也无法控制。这意味着它在主要返回之后被销毁了。如果我是对的,为什么可以将其视为guaranteed-destruction
?
class S
{
public:
static S& getInstance()
{
return instance;
}
S() {}
private:
static S instance;
S(S const&);
void operator=(S const&);
};
S S::instance = S();
这也是保证销毁吗?