fup*_*uck 27
global.h
extern int myVar;
global.cpp
#include "global.h"
int myVar = 0; // initialize
class1.cpp
#include "global.h"
...
class2.cpp
#include "global.h"
...
class3.cpp
#include "global.h"
...
Run Code Online (Sandbox Code Playgroud)
MyVar将作为全局变量在每个模块中被知道并可用.您不必拥有global.cpp.您可以在任何类.cpp中初始化myVar,但我认为这对于较大的程序来说更清晰.
如果您不打算像 Lyndsey 建议的那样使用单例模式,那么至少使用全局函数(在命名空间内)来访问变量。这将使您能够更灵活地管理该全球实体。
// mymodule.h
namespace mynamespace // prevents polluting the global namespace
{
extern int getGlobalVariable();
}
// mymodule.cpp
namespace mynamespace
{
int myGlobalVariable = 42;
int getGlobalVariable()
{
return myGlobalVariable;
}
}
Run Code Online (Sandbox Code Playgroud)