c++ - 以下是C++单例实现吗?

标签 c++ singleton coding-style

我确实在互联网上看到了一些实现单例类的模式,如下所示:

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/

相关文章:

javascript - 如何在 JavaScript 中为内容添加样式?

ios - 如何测试我的 NSNumberFormatter 只初始化一次?

c++ - 虚函数声明和定义的困惑

c++ - 使用 boost::assign::list_of 构造 std::vector 时的歧义

c++ - 应用程序无法正确启动(0xc000007b)

swift - 如何使用 xib 创建单例 UIView 以在不同的 VC 上使用一个实例?

c++ - 硬件通信的面向对象方法...可能的单例吗?

python - 更重要的是pythonic : trivial lambda or None?

c++ - 在 Linux C++ 中按任意键继续

c++ - 输入有效的双输入 C++