c++学习笔记(关于register,static,引用,const)

c:
register只能修饰局部变量不能修饰全局变量和函数
作用:尽可能将修饰的变量保存在cpu的寄存器中省去cpu到内存中抓取数据的时间,提高程序运行效率。
频繁访问变量用register修饰。
注意:1,不能用&来获取register所修饰变量
2,register修饰的变量一定是cpu能接受的数据类型
static既能修饰局部变量也能修饰全局变量

c至c++对register的升级:当用&取地址时,将寄存器中的变量加载到内存中再取地址
volatile防止编译器将所修饰的变量加载到寄存器中,进行优化。

c指针最大的缺点:使用不当会造成内存错误(段错误),所以指针操作不安全。
c++引用:引用实际就是给变量起别名,操作这个引用实际就是操作这个变量
一个引用只能绑定一个变量,定义一个引用时一定要给他初始化(绑定一个变量)
引用做函数的形参==指针做函数的形参
引用作为函数返回值,使函数调用可以作为左值
不能反悔局部变量或者局部变量的地址(函数执行结束会释放空间)

引用的分类:左值引用&(只能绑定左值)和右值引用&&(只能绑定右值)
判断左值:能对其取地址或者修改
判断右值:不能取地址或修改
move(将左值转换成右值)
左右值引用的作用:函数的形象,函数返回值
左值引用:代替指针的操作
右值引用:临时对象开销的问题(对象移动)
右值引用的名字任然是左值!
引用是会占用内存的!

C:
const:修饰一个变量(全局,局部),修饰函数返回值
作用,将修饰的变量标记为只读变量(错误:const修饰的变量是常量)
const修饰一个变量必须初始化
工程应用:用const修饰函数形参,保护实参不在函数执行过程中被修改。
C++
const修饰一个变量,这个变量就是常量
指针和引用的赋值操作必须是const对const

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值