嵌入式面向对象编程·C++对C的加强

、实用性加强(接上篇)

5、register关键字(与volatile联系起来)(C语言 VS  C++)

C语言:

(1)作用:尽可能地将修饰的变量保存在cpu的内部寄存器中,省去了cpu到内存中抓取数据的时间,提高程序的运行效率。

(2)修饰对象:频繁访问的变量。

(不能修饰全局变量,也不能修饰函数,只能修饰局部变量)

(3)格式: 如:register int num = 5 ;

(4)注意事项:

         ①不能用&来获取register修饰的变量(变量在寄存器中,无法取数据所在内存地址);

         ②register修饰变量的数据类型:一定为cpu所接受的数据类型。

(5)static:既能修饰局部变量,又能修饰全局变量,也可修饰函数。

(6)volatile:防止编译器将修饰变量加载到寄存器中进行优化(格式volatile int count = 5)。

C++升级:

升级:当用&获取寄存器变量的地址时,会将该变量重新加载到内存中。(可使用 &)

二、引用

1、引用:在变量名前加&,定义时须初始化绑定一个指定对象,且中途不可更改绑定对象。

2、分类:左值引用(如:int &num = num);右值引用(如:int &&num = num)。

3、作用:

(1)别名,操作这个引用即操作该变量;解决指针使用不当,会造成内存错误 – 段错误;

(2)作返回值,使函数的调用可作为左值;

         注:不可返回局部变量或者局部变量的地址:函数结束后会释放空间。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值