C++中的单例模式

dom*_*lao 4 c++ singleton static pointers

我是新的,在C++中有点无知,我遇到使用单例模式的C++代码,

class CFoo
{
 public:
   static CFoo& getInstance()
   {
     static CFoo self;
     return self;
   }

 private:
   CFoo(){}
   ~CFoo(){}
};
Run Code Online (Sandbox Code Playgroud)

我只是为什么要返回一个静态引用?这是一个有效的代码吗?程序员为什么不使用指针?

GMa*_*ckG 7

为什么要使用指针?引用很简单并且匹配我想要做的事:别名对象,而不是指向它.将static不适用于参考,它适用于功能,使得它可调用没有一个实例.

(更好的是,为什么要使用单身?)