C++ 单例与静态方法

标签 c++ methods static singleton

<分区>

Possible Duplicate:
C++ singleton vs completely static object

你好,

为什么我更喜欢单例而不是静态类方法。

    MoneyPrinter::addJob(PrinterJob &job);
or
    MoneyPrinter::getInstance().addJob(PrinterJob &job);

这只是风格问题吗? 你用什么?为什么?

附言。我知道 sigletons 默认情况下不是线程安全的(第一次初始化)。

最佳答案

why should I prefer a singleton over static class methods

单例可以具有内部状态(在您的示例中,添加的作业列表),即单例类的成员数据。

What do you use? Why?

如果没有状态,那就是静态方法,因为那是最简单的。

否则是单例,最好是静态初始化(而不是即时或运行时初始化)。

关于C++ 单例与静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4299376/

相关文章:

c++ - 访问和打印元组中的数据,并使用 C++14 使用模板函数显示它

C++ 具有返回值的匿名函数

android - 我的应用程序已成功安装到 Android 上,但加载后立即崩溃

java - 如何在 Long 方法中返回 a 和 b 相加的结果?

c# - 如何让 IsKeyDown 方法在 C# 中工作

C++静态变量

python - 从 OpenGL 深度缓冲区获取世界坐标

java - 使用方法在摄氏度和华氏度之间转换

c# - Azure 函数静态隔离

spring - 如果该类不包含状态,使用非静态类是否合理?