如何使用 extern 关键字在不同的源文件间共享变量?
首先需要知道 声明 和 定义 的区别。声明并不分配内存,定义才会。
extern int a; // 声明,a 的定义可能在其它的文件
int b; // 定义,b 占有实际的内存
下面是一个用法,
// file1.cpp
#include <iostream>
extern int a; // a 的定义在另一个文件
void func()
{
a++;
}
// file2.cpp
#include <iostream>
int a = 1;
void func()
{
a++;
}