访问全局类对象C ++的更好方法

时间:2011-11-30 07:24:29

标签: c++ singleton global

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

现在,我试图想出一种方法,我可以做到这一点,而不仅仅是在顶部包括一个外部。一位朋友提到了一些单身人士模式。谁能解释这个概念?有没有人有不同的概念可行。

谢谢!

1 个答案:

答案 0 :(得分:3)

请留下extern并忘记单身人士,请尽快。假装你从未听说过他们。 :)另请参阅thisthis answer

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