为什么我的Singleton类返回两个不同的对象?

时间:2014-10-14 03:49:02

标签: c++ design-patterns reference singleton

我编写了以下Singleton类代码,

class Singleton
{
private:
    Singleton(){}

public:
    static Singleton& getInstance()
    {
        static Singleton instance; //made it static so only initialized once

        return instance;
    }
};

现在我尝试使用它,

int main(int argc, char* argv[])
{

    Singleton s = Singleton::getInstance();
    Singleton s1 = Singleton::getInstance();

    cout<<&s << "   " << &s1<<endl; //why getting different address here?

    return 0;
}

两个s,s1给出不同的地址。

示例输出:

  

001AFECB 001AFEBF

我正在使用Visual Studio 2012.我将实例对象设为静态,因此它应该只初始化一次,并且不应该死。

0 个答案:

没有答案