我编写了以下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.我将实例对象设为静态,因此它应该只初始化一次,并且不应该死。