是的,在C++中,可以使用extern
关键字来声明一个变量,该变量在其他文件中已经定义。extern
告诉编译器该变量在其他文件中定义,而不是在当前文件中定义。这在多个源文件中共享变量时非常有用。
例如,假设我们有两个源文件:main.cpp
和shared.cpp
。我们希望在两个文件中共享一个名为globalVar
的全局变量。
首先,在shared.cpp
中定义并初始化globalVar
:
// shared.cpp
#include <iostream>
int globalVar = 42;
void printGlobalVar() {
std::cout << "Global variable: " << globalVar << std::endl;
}
然后,在main.cpp
中使用extern
关键字声明globalVar
,并调用printGlobalVar()
函数:
// main.cpp
#include <iostream>
extern int globalVar; // 声明全局变量
int main() {
printGlobalVar(); // 使用全局变量
return 0;
}
在这个例子中,extern
关键字允许我们在main.cpp
中访问在shared.cpp
中定义的globalVar
变量。