参考知乎提问“在C++中如何使用全局变量?”
#include#include std::string msg; //这个就叫全局变量 int main() { msg = "Hello, world!"; std::cout << msg << std::endl; return 0; }
不过呢,这么做以后你会逐渐逐渐遇到各种问题,比如说多个.cpp文件都要用到同一个全局变量咋办?
你需要做的是在一个.cpp里定义这个变量,然后在头文件里extern这个变量。问题解决。
头文件里写:extern std::string msg;
某一个.cpp文件里写:std::string msg;
所有引用了这个头文件的cpp文件里就都可以使用msg这个全局变量了。
state.h:
#ifndef state_h #define state_h const int MAX = 200; extern int num; extern int array[MAX]; #endif
state.cpp:
#include "state.h" int num = 0; int array[MAX]; //即使不赋值,也需要在此定义
class1.cpp:
extern int num; extern int array[MAX]; num++; array[0] = 1;



