当前位置:首页 > 大杂烩 > 正文内容

c++ extern,extern作用,extern关键字,extern声明,extern使用

高老师5年前 (2020-03-13)大杂烩1552

c++ extern的作用通俗来说的作用就是:

可以在一个文件中引用另一个文件中定义的变量或者函数

(1).先看引用同一个文件中的变量

#include <iostream>
using namespace std;

int main()
{

    std::cout << a;
    
    return 0;
}
int a = 100;

很明显上面的代码中我们不可能输出变量a的值,除非我们把int a =100放在最上面,但是我们不会那么做,我们是用extern来测试效果的,通过extern引用最下面的int a =100;

#include <iostream>
using namespace std;

int main()
{

    extern int a;
    
    std::cout << a;
    
    return 0;
}
int a = 100;

(2).再看引用其他文件中的变量

创建main.cpp

#include <iostream>
using namespace std;

int main()
{

    extern int a;
    
    std::cout << a;
    
    return 0;
}

创建other.cpp

#include <iostream>
using namespace std;

int a = 100;

int other()
{
    std::cout << "this is other func";
    
    return 0;
}

编译执行,正常运行。切记,引用其他文件中变量,这个变量在其他文件中必须是全局变量

(3).再看引用其他文件中的函数

创建main.cpp

#include <iostream>
using namespace std;

int main()
{

    extern int other();
    
    std::cout << other();
    
    return 0;
}

创建other.cpp

int other() 
{
    return 110;
}

编译执行,正常运行。切记,引用其他文件中变量,这个变量在其他文件中必须是全局变量

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/545.html

分享给朋友:

“c++ extern,extern作用,extern关键字,extern声明,extern使用” 的相关文章

c#中string和StringBuilder效率对比

c#中string和StringBuilder效率对比

    c#中string和StringBuilder直接看看执行速度。(2).String类型累计赋值Test               ...

Application的错误使用

Application的错误使用

Application 对象用于存储和访问来自任意页面的变量,类似 Session 对象。不同之处在于所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一对应的。很多的书籍中介绍的Application对象都喜欢以统计在线人数来介绍Application 对象...

Git从远程仓库更新文件

Git从远程仓库更新文件

 git   pull  https://git.oschina.net/392223903/learn.git   master   换为您的git地址...

c#中文简体转换繁体

c#中文简体转换繁体

private const string fantizi = "高久峰是個程序員"; private const string jiantizi = "高久峰是个程序员...

IIS7.0无法加载CSS的处理办法

IIS7.0无法加载CSS的处理办法

首先网页全部是纯静态的文件,本地测试正常访问,服务器端无法加载CSS,并且无法查看CSS文件的内容。 解决方案:关闭网站的压缩->>静态压缩和动态压缩...

nginx配置https,nginx ssl配置

nginx配置https,nginx ssl配置

首先在阿里云申请免费的证书,选择自动生成证书。然后就是nginx虚拟主机配置文件的修改。以下是我的配置文件(因为公司开发小程序,没有办法只能使用https)。您只需要关注带有ssl的配置选项,我增加了一个监听80和443的端口,同时增加了http跳转https的配置server  &nbs...