今天看了一个博客的单例模式,将唯一实体设为const static后,同时把构造函数私有,在类外对实体直接调用构造函数进行了初始化,简化后为
class single {
private:
const static single* m_instance;
single() {}
};
const single* single::m_instance = new single;
不理解为什么设为private的构造函数能在类外直接使用呢?后来发现不用const,只是用static也可以通过
class single {
private:
static single* m_instance;
single() {}
};
single* single::m_instance = new single;
难道对于static,类里面的所有函数都是可见可用的吗?