为什么变量需要在头文件中声明时externed,然后在相应的cpp文件中再次声明为:
一个。防止链接错误
ex. header 1.h-
namespace forglobal {
extern int x;
}
source 1.cpp-
namespace forglobal{
int x=6;
}
source 2.cpp-
#include "1.h"
cout<<x; //6
湾。在不同的 cpp 文件中使用,我不能像调用函数 ex 一样使用命名空间吗?
header -1.h
namespace forglobal {
int x
}
source -1.cpp {
namespace forglobal {
void change() {
x=5;
}
}
}
source -2.cpp
#include "1.h"
forglobal::change();
cout<<forglobal::x<<'\n'; //5