c++ 中extern的基本解释说明(VC代码)

extern  a;

 

它的作用就是告诉编译器这个变量是在其他文件中定义的(是外援),要是在本文件中
看到它的名字千万别奇怪。

 

编译器是相信同伙的,所以在编译的时候要是看到a变量时会认为它是存在,不会报错。只有在
链接的时候链接器才会去其它obj文件中寻找a变量的定义(地址),找到则顺利链接,否则报错。

因为编译器只需要知道extern所声明变量的名字就可以了,所以extern int a可以写成 extern a(即省略变量类型)。

并不是所有的变量都能用extern声明,只有全局变量并且没有被static 声明的变量才能声明为extern.而且还要注意extern这个玩意千万不要放在.h文件里,这样你感觉程序没有错误但是就是出现链接错误,extern一定放在cpp文件中,

h文件只负责声明,他其他什么工作也不做,不要赋予h文件太多的功能,这样你都不知道是怎样出的错。

测试过程如下:

在vc++中建立俩个类 test1 和 circle,在test1.h 中定义变量ok

在circle的cpp中声明extern ok变量,他们分别如下:

test1.h

 

 

test1.cpp

 

circle.h

 

circle.cpp

 

  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值