【问题标题】:Better way of accessing global class objects C++访问全局类对象 C++ 的更好方法
【发布时间】:2011-11-30 07:24:28
【问题描述】:

我有一个错误日志类,我在项目中的所有文件中都使用它。它使我能够调试并更好地了解我的代码在做什么。我通过说 Log errorLog 在 main.cpp 中全局声明它,然后相应地使用它。现在,我一直在将文件拆分为多个文件,并且我一直使用“extern Log errorLog”在多个文件中使用我的记录器的方式,它工作得很好。

现在,我正在尝试找出一种方法可以做到这一点,而无需简单地在顶部包含 extern。一位朋友提到了单例模式。谁能解释这个概念?有没有人有不同的概念可行。

谢谢!

【问题讨论】:

    标签: c++ singleton global


    【解决方案1】:

    请继续使用extern,忘记单身人士,请尽快。假装你从未听说过他们。 :) 另见thisthis answer

    另一种可能性是将您的记录器传递给每个需要它的函数和类,即使使用extern,全局仍然是全局,global variables are considered bad

    【讨论】:

    • 谢谢。我将继续使用 extern 引用它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    相关资源
    最近更新 更多