参考知乎提问“在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;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)