c++ extern用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c++ extern用法
(最新版)
目录
1.C++中的 extern 用法
2.extern 关键字的作用
3.声明外部变量和函数
4.声明外部常量
5.使用 extern 的注意事项
正文
C++中的 extern 用法是 C++编程中经常使用的一种特性,它可以让程序员在当前编译单元中使用其他编译单元中定义的变量和函数,而不需要将这些变量和函数重新定义。
下面我们来详细了解一下 C++中的extern 用法。
首先,我们需要了解 extern 关键字的作用。
在 C++中,extern 关键字用于声明一个变量或函数是外部的,也就是说,这个变量或函数在其他编译单元中定义。
使用 extern 关键字可以避免在当前编译单元中重复定义变量或函数,从而减少编译错误。
接下来,我们分别来看一下如何用 extern 声明外部变量和函数。
当需要在当前编译单元中使用其他编译单元中定义的变量时,可以使用extern 关键字声明该变量。
例如:
```cpp
// other_module.cpp
int my_variable;
// current_module.cpp
extern int my_variable;
```
在上述代码中,current_module.cpp 编译单元中使用其他模块中定
义的变量 my_variable,通过使用 extern 关键字声明,避免了对
my_variable 的重复定义。
同样地,当需要在当前编译单元中使用其他编译单元中定义的函数时,也可以使用 extern 关键字声明该函数。
例如:
```cpp
// other_module.cpp
void my_function();
// current_module.cpp
extern void my_function();
```
在声明外部常量时,也需要使用 extern 关键字。
例如:
```cpp
// other_module.cpp
const int MY_CONSTANT = 10;
// current_module.cpp
extern const int MY_CONSTANT;
```
在使用 extern 时,需要注意以下几点:
1.如果在当前编译单元中定义了与外部变量或函数同名的变量或函数,那么需要使用 extern 关键字声明,以避免编译错误。
2.如果没有使用 extern 关键字声明外部变量或函数,那么默认情况下,编译器会认为这些变量或函数是在当前编译单元中定义的。
3.如果在当前编译单元中多次使用 extern 声明同一个外部变量或函数,那么只会定义一次,其余的声明会被忽略。