在C++中,外部变量可以通过在函数或类之外声明和定义来定义。可以在全局作用域中定义外部变量,也可以在命名空间中定义外部变量。
int globalVariable; // 在全局作用域中定义外部变量
int main() {
// 使用外部变量globalVariable
globalVariable = 10;
return 0;
}
namespace MyNamespace {
int externalVariable; // 在命名空间中定义外部变量
}
int main() {
// 使用外部变量MyNamespace::externalVariable
MyNamespace::externalVariable = 20;
return 0;
}
注意,在使用外部变量之前,需要先进行声明,以告诉编译器该变量的存在。例如,在函数中使用全局变量时,可以在函数中使用extern
关键字来声明该变量:
extern int globalVariable; // 声明全局变量
int main() {
// 使用外部变量globalVariable
globalVariable = 10;
return 0;
}
如果没有提供外部变量的定义,而只是进行了声明,编译器将会在链接阶段查找该变量的定义。