我确实在互联网上看到了一些实现单例类的模式,如下所示:
class singleton {
public:
int a;
void print()
{
std::cout << a << std::endl;
}
} singleton;
int main()
{
// singleton b; COMPILATION ERROR
singleton.a = 3;
singleton.print();
return 0;
}
它确实可以在 GCC 上编译,但我觉得将实例命名为类的名称并不是真正正确的编码方式。
- 是否有任何特殊规则禁止这种约定(实例名称与类名称相同)
- 源代码是否在其他编译器中编译?
最佳答案
class singleton ss;
您可以构造多个,因此这不是单例。隐藏名字可以说是邪恶的。单例很烂,所以不要使用它们。
关于c++ - 以下是C++单例实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4181057/