我有一个错误日志类,我在项目中的所有文件中使用它。它允许我调试并更好地理解我的代码在做什么。我通过说Log errorLog在main.cpp中全局声明它,然后相应地使用它。现在,我一直在将文件分成多个文件,而且我总是通过使用“extern Log errorLog”在多个文件中使用我的记录器而得到的方式很好。
现在,我试图想出一种方法,我可以做到这一点,而不仅仅是在顶部包括一个外部。一位朋友提到了一些单身人士模式。谁能解释这个概念?有没有人有不同的概念可行。
谢谢!
答案 0 :(得分:3)
请留下extern
并忘记单身人士,请尽快。假装你从未听说过他们。 :)另请参阅this和this answer。
另一种可能性是将记录器传递到需要它的每个函数和类中,即使使用extern
,全局仍然是全局的,global variables are considered bad。