//單例類的C++實現
#include <iostream>
using namespace std;
class Singleton
{
private:
Singleton(){} //注意這里是私有構造函數.所以不能實例化.
public:
static Singleton& GetInstance() {
static Singleton singleton;
return singleton;
}
void foo(){
std::cout<<"foo"<<std::endl;
}
};
int main()
{
Singleton::GetInstance().foo();
Singleton* p1 = &Singleton::GetInstance();
Singleton* p2 = &Singleton::GetInstance();
//p1,p2指向同一地址
return 0;
}