Singleton.h中代码 #ifndef SINGLETON_H_ #define SINGLETON_H_ #include <memory> class Singleton { private: Singleton(); static std::auto_ptr<Singleton> apSingle; public: virtual ~Singleton(); void func(); static Singleton& instance(); }; #endif /* SINGLETON_H_ */ Singleton.cpp中实现 #include <iostream> #include <memory> #include "Singleton.h" std::auto_ptr<Singleton> Singleton::apSingle; void Singleton::func(){ std::cout << "in func" << std::endl; } Singleton::Singleton(){ // TODO Auto-generated constructor stub std::cout << "in con" << std::endl; } Singleton::~Singleton() { // TODO Auto-generated destructor stub std::cout << "in decon" << std::endl; } Singleton& Singleton::instance(){ if(apSingle.get() == NULL){ apSingle.reset(new Singleton()); } return *apSingle; }