extern关键字
时间: 2023-07-26 09:22:25 浏览: 116
在C++中,extern关键字用于声明一个变量或函数是在其他文件中定义的。它告诉编译器在当前文件中不需要为该变量或函数分配内存空间,而应该去其他文件中寻找它的定义。如果在其他文件中找不到该变量或函数的定义,编译器就会报链接错误。
extern关键字通常用于以下两种情况:
1. 声明一个全局变量:当我们在一个文件中声明一个全局变量,但是要在另一个文件中使用该变量时,需要使用extern关键字来告诉编译器该变量是在其他文件中定义的。
2. 声明一个函数:当我们在一个文件中声明一个函数,但是要在另一个文件中调用该函数时,需要使用extern关键字来告诉编译器该函数是在其他文件中定义的。
例如,下面的代码演示了如何在C++中使用extern关键字:
```c++
// file1.cpp
#include <iostream>
extern int count; // 声明一个全局变量
void foo() {
std::cout << "count = " << count << std::endl; // 使用全局变量
}
// file2.cpp
int count = 0; // 定义一个全局变量
int main() {
foo(); // 输出:count = 0
count++;
foo(); // 输出:count = 1
return 0;
}
```
在这个例子中,我们在file1.cpp中声明了一个全局变量count,并在函数foo中使用它。在file2.cpp中定义了全局变量count,并在main函数中调用foo函数。由于count是一个全局变量,它可以在不同的文件中使用。因此,在声明全局变量count时,使用了extern关键字告诉编译器该变量是在其他文件中定义的。
阅读全文