函数中的静态数据何时被破坏

时间:2018-12-25 15:22:01

标签: c++ singleton destructor

我正在学习如何使用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();

这也是保证销毁吗?

0 个答案:

没有答案