C++ extern关键字的详细作用
时间: 2023-10-23 07:21:58 浏览: 95
extern是C++语言中的一个关键字,其作用主要有以下两个:
1. 声明外部变量或函数
当我们在一个源文件中声明一个变量或函数时,如果我们想要在另一个源文件中使用这个变量或函数,就需要使用extern关键字来声明它是一个外部变量或函数。例如:
```
// file1.cpp
int g_var = 0;
extern void func();
// file2.cpp
extern int g_var;
void func() {
g_var++;
}
```
在这个例子中,我们在file1.cpp文件中定义了一个全局变量g_var和一个函数func。由于我们希望在file2.cpp文件中使用这个全局变量和函数,所以我们在file1.cpp中使用extern关键字来声明它们是外部变量和函数。在file2.cpp文件中,我们同样使用extern关键字来声明g_var是一个外部变量,并在func函数中使用它。
2. 定义外部变量或函数
除了声明外部变量或函数之外,extern关键字还可以用来定义外部变量或函数。在这种情况下,我们需要在定义时使用extern关键字,并在后面加上初始化表达式。例如:
```
// file1.cpp
extern int g_var = 0;
extern void func() {
g_var++;
}
// file2.cpp
extern int g_var;
extern void func();
int main() {
func();
return g_var;
}
```
在这个例子中,我们在file1.cpp文件中定义了一个外部变量g_var和一个外部函数func。由于我们希望在file2.cpp文件中使用这个外部变量和函数,所以我们在file1.cpp中使用extern关键字来定义它们。在file2.cpp文件中,我们同样使用extern关键字来声明g_var和func是外部变量和函数,并在main函数中使用它们。
总的来说,extern关键字的作用是声明或定义外部变量或函数。
阅读全文