extern 关键字声明多文件共享变量
我们在C++开发中经常会遇到一些场景需要多个cpp文件同时共享一个变量,这个时候有两种选择,1、使用static 关键字;2、使用extern 关键字,而本文着重讲的便是extern 关键字
如何才能共享呢?下面我举一个简单的例子来说明。
我们把所有要共享的变量写在一个globalVar.h文件里面,然后在globalVar.cpp中定义这个变量。这样如果a.cpp或者b.cpp要引用全局变量,只需直接#include”globalVar.h”即可。
//以共享结构体与共享普通变量为例子
// globalVar.h
#include<string>
struct globalStruct
{
int m_iX;
int m_iY;
std::string m_sZ;
};
extern int globalShareInt;
extern globalStruct* globalShareStruct;