C++基础3:作用域

这篇博客探讨了C++中的作用域规则,包括全局作用域和局部作用域。全局作用域涵盖一般全局变量、static全局变量和static局部变量,它们在不同情况下的可见性和使用范围有所不同。在DLL中使用全局变量时,需要特定的导出和导入声明。局部作用域包括语句作用域、函数作用域和类作用域,并强调了局部变量的初始化规则。还讨论了using关键字在引入命名空间中的作用。
摘要由CSDN通过智能技术生成

          在C++中,变量的作用域可以分为全局作用域,局部作用域;全局作用域又可分为文件作用域、整个程序作用域。

          1. 全局作用域

              处于全局作用域的变量有,一般全局变量、static全局变量、static局部变量,这些变量存放在全局/静态数据区域中。

             在没有头文件的情况下,

             (1)static全局变量只能在定义它的文件中使用,不能跨cpp文件使用。

              (2)一般全局变量如果需要在整个程序中使用,那么在定义它的cpp文件中,加上extern字段,例如:extern double test = 9;在需要访问它的cpp文件中,声明的时候加上extern字段,例如:extern double test;。

              在有头文件的情况下,

              (1)如果在A.cpp中include了B.h,并且在B.h中定义了static全局变量,在使用过程中,会发现,这个static全局变量在A中的变化丝毫不影响它在B中的值,反之亦然。

              (2)如果在A.cpp中inluce了B.h,并且在B.h中定义了全局变量,将发生编译错误。

              如果是在Dll中的全局变量,并在DLL中修改了全局变量,想在程序中使用的方法是:

              在Dll中这样声明:

                _declspec(dllexport) int share_int = 5;

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值