在c++的头文件中声明变量的正确方法是什么?如果这不是一个好主意,那为什么呢?谢谢。
最佳答案
正确的方法是在头文件中使用 extern 关键字声明变量,然后您必须在一个(!)cpp 文件中声明它而不使用 extern 关键字。
但是:
头文件中的变量是全局变量。这些有很多问题。这里有一些:
- 您不知道它们的初始化顺序。当一个是一个类并且它们的构造函数访问另一个全局变量时,可能这个另一个全局变量没有被初始化
- 全局变量浪费你的命名空间
- 当您使用全局变量时,您几乎肯定不会使用众所周知且经过验证的编程概念(例如模块化)。此外,您的函数会有许多副作用,这会使您的代码难以理解。几周后,您将不再知道哪些函数会更改哪些变量,等等。如果您坚持这个概念并且不使用全局变量,您的代码将更具可读性和可理解性。
你不应该在 C++ 中使用全局变量。它们只是为了与 C 向后兼容。
关于c++ - 使用 extern 关键字在头文件/c++ 中声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8646421/