extern在C++语言中用法
时间: 2024-10-18 20:04:20 浏览: 21
浅谈C/C++中的static与extern关键字的使用详解
在C++语言中,`extern`是一个关键词,主要用于指示变量或函数的存在位置,并不是它的实际存储空间。主要有以下几个用途:
1. **声明**:如果你在头文件(`.h`)中定义了一个变量或函数,但在另一个源文件(`.cpp`)中想要使用它,就需要在那个`.cpp`文件中用`extern`声明其存在。例如:
```cpp
// example.h
extern int myVariable;
extern void printMessage();
```
2. **链接**:在编译时,`extern`声明的变量或函数会在链接阶段寻找定义。这意味着你可以在多个`.cpp`文件中声明,而在链接时仅需确保在某个源文件中有相应的定义。
3. **全局共享**:对于全局变量,如果在所有源文件中都用了`extern`,那么它们实际上是共享的,只有一个副本。
4. **动态加载库**:`extern "C"`常用于链接库中的函数,表示使用C语言的命名约定。
注意,如果你在`.cpp`文件中定义了同名的变量或函数,则不需要在`extern`声明中指定,因为编译器会知道它是被本地定义的。
阅读全文