关于extern关键字扩展作用范围的使用方法

extern关键字目前来说主要有两个功能:

  • 创建“全局变量”
  • 将C++代码按照C的格式进行编译

两者的区别主要是其修饰的内容。

  • 在修饰函数的时候,比如在函数前加上extern “C",例如extern ”C" void Fun1(int, int);此时就是要求编译器将此函数按照C的方式去编译(因为C++中涉及到函数重载,因此对于同名的函数,编译器在编译的时候会加上参数的类型之类的,如某些编译器可能会将上面的函数编译为Fun1_int_int,这个取决于编译器本身)。
  • 在修饰变量或者是对象的时候,则是表明这是对于一个变量的声明,注意是“声明”而不是定义,一个变量可以多次声明,但是只能定义一次。在此中,extern充当声明函数或全局变量的作用范围的关键字,其声明的函数和变量可以在本模块活其他模块中使用。

其实,本质上来说,这两个性质其实是一个性质:扩充所修饰内容的作用范围
修饰函数的时候,就是扩充了此函数的作用范围,从C++扩充到了C代码也可以使用。
修饰变量或者是对象的时候,也是扩充了此变量或者是对象的作用范围,从当前文档可用,到其他文件也可用。

可以参考此链接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值