C++(extern)
在 C++ 中,extern
是一个关键字,用于说明某个变量或函数是在其他文件中定义的,而不是在当前文件中定义。extern
的主要作用是进行外部链接性的声明。
1. 外部变量的声明:
extern
可以用于声明在其他文件中定义的全局变量,以便在当前文件中使用这些变量。
// 文件1.cpp
int globalVariable = 42;
// 文件2.cpp
extern int globalVariable; // 外部链接性声明
2. 外部函数的声明:
extern
也可以用于声明在其他文件中定义的函数。
// 文件1.cpp
void myFunction() {
// 函数定义
}
// 文件2.cpp
extern void myFunction(); // 外部链接性声明
3. 避免重复定义:
使用 extern
可以避免在多个文件中重复定义相同的全局变量或函数,因为这样的声明告诉编译器,这个变量或函数将在其他文件中定义。
4. 外部链接性:
默认情况下,C++ 的全局变量和函数具有外部链接性,可以被其他文件访问。使用 extern
声明时,可以显式地指定这是一个外部链接性的声明。
extern "C" {
// 在C++中使用extern "C"声明以C链接方式进行
void cFunction();
}
extern
还可以用于声明在其他编译单元中使用的模板实例。
// 在其他文件中定义
template<typename T>
extern void myTemplateFunction(T param);
总的来说,extern
用于声明在其他文件中定义的变量和函数,以及在 C++ 和 C 之间进行链接时的声明。