首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >面试题:C++ extern作用?

面试题:C++ extern作用?

作者头像
GeekLiHua
发布2025-01-21 14:38:42
发布2025-01-21 14:38:42
1770
举报
文章被收录于专栏:JavaJava

面试题:C++ extern作用?

在C++中,关键字extern可以用于声明变量或者函数是在别处定义的。简单来说,关键字extern用来告诉编译器一个名称的实际位置详细信息,以便在其他文件中使用该变量或函数。

使用场景

如果在多个源文件中使用同一全局变量或函数,则需要使用extern关键字来进行声明。

例如,在main.cpp文件中定义了一个全局变量g_var,并在另外一个文件func.cpp中也希望访问这个全局变量,则需要在func.cpp中使用extern来声明该全局变量的存在,如下所示:

代码语言:javascript
复制
// main.cpp
#include <iostream>

int g_var = 0; //定义全局变量

int main() {
    std::cout << "g_var in main is: " << g_var << std::endl; //输出全局变量
    return 0;
}

// func.cpp
extern int g_var; //使用extern关键字声明全局变量

void func() {
    g_var++; //修改全局变量的值
}

此时,程序可以在main.cppfunc.cpp两个文件中共享相同的全局变量g_var

注意事项

以下是使用extern关键字的几点注意事项:

  • 在变量定义和使用的地方都可以加上extern关键字,但只有在变量定义前面加上extern才表示变量对其他文件是可见的。
  • 如果在一个文件中定义并初始化了一个全局变量,同时在另一个文件中使用该全局变量时不需要extern声明。因为全局变量的定义已经包含了extern的语义。
  • 如果多个文件包含同一头文件,该头文件中定义并初始化了一个全局变量,则所有包含该头文件的文件都将获得对这个变量的定义,此时需要使用关键字extern表示它部分或全部地可能已经定义。

综上所述,关键字extern用于告诉编译器一个名称的实际位置详细信息,以便在其他文件中使用该变量或函数,常用于多文件的项目中或库的开发中。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 面试题:C++ extern作用?
    • 使用场景
    • 注意事项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档