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

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

高老师6年前 (2020-03-13)大杂烩1669

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使用” 的相关文章

PHP安装mongodb扩展

PHP安装mongodb扩展

在安装之前我们先看看官方给出的依赖关系.首先是dll文件和mongodb软件的依赖关系然后是PHP文件和dll的依赖关系我的是phpstudy的集成环境PHP5.4.45 NTS+Apache+Mysql【一】.安装mongodb3.0软件对比依赖关系下载mongodb3.0.msi软件,完整名称:...

Application的错误使用

Application的错误使用

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

IE浏览器无法显示此页解决方案

IE浏览器无法显示此页解决方案

方案1.IE浏览器"无法显示此页"的解决办法(1).按下Win+R键打开运行,输入netsh winsock reset,回车;(2).重启即可. 方案2.IE浏览器"无法显示此页"的解决办法 (1).设置-连接-局域网设置-自动检测设置开...

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

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

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

VMware CentOS网络连接设置

VMware CentOS网络连接设置

1.设置桥接模式,复制物理网络状态2.编辑/etc/sysconfig/network-scripts/ifcfg-eth0以下配置:(如果没有自己创建对应选项)ONBOOT=yes NM_CONTROLLED=noBOOTPROTO=staticIPADDR=192.168.2.240...

redis所有key命令,redis key命令

redis所有key命令,redis key命令

1.设置key的value     set name gao2.获取key的value     get name3.删除key            del key1 key2 ... Keyn4.修...