C++单例问题请教
class A{
private:
A(){}
public:
~A(){}
static A *getInstance();
};
A *A::getInstance()
{
static A a;
return &a;
}
int main()
{
cout << A::getInstance() << endl;
cout << A::getInstance() << endl;
return 0;
}
程序两次打印地址都是一样的,符合单例特性,但我不明白的是实例函数两次调用为什么会有一样的结果呢?static A a;这句我理解的是应该各自定义不同的变量啊。