在C++中,extern
是一个关键字,主要用于声明一个全局变量或函数,表示它的定义并不在本文件中,而在其他文件中。 extern
也可以用于在C++程序中访问C语言库中的函数。
具体来说,当一个变量声明为 extern
,它的内存空间并不在程序当前的代码块或函数体内,而是在其他程序或文件中。当程序需要引用另一个程序或文件中的变量时,可以在当前程序内使用 extern
来声明变量,从而实现共享变量的功能。有时候,多个源文件需要共享同一变量,就可以使用 extern
关键字。
一个简单的示例:
在第一个源文件中,我们定义一个全局变量a
,并初始化为100:
// source1.cpp
int a = 100;
接下来,我们在第二个源文件中使用 extern
来声明变量a
:
// source2.cpp
extern int a;
void func(){
// 可以在此对a进行操作
}
上述示例中,在第二个源文件中使用 extern
来声明变量a
,从而使得a变量可以在当前源文件中被访问与操作。
另外一个示例,extern
还可以被用于在C++程序中访问C语言库中的函数。例如,我们想使用C库中的数学函数sqrt()
,可以通过以下方式使用:
// 在头文件中声明sqrt函数的定义
extern "C" double sqrt(double __x);
// 在程序中使用sqrt函数
#include <cmath>
double a = sqrt(4.0); // result: 2.0
上述示例中,我们在头文件中声明sqrt
函数的定义,并通过 extern "C"
来明确表示这是一个C语言库函数定义。接着,在程序中我们就可以使用 #include <cmath>
引用cmath库,调用 sqrt
函数了。
总之,extern
关键字可以用于声明外部变量和函数,从而实现不同模块之间的共享。在C++程序中,不仅可以使用 extern
声明C++变量,还可以使用 extern "C"
声明C语言库中的函数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++中的extern关键字是什么? - Python技术站