一、实用性加强(接上篇)
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)作返回值,使函数的调用可作为左值;
注:不可返回局部变量或者局部变量的地址:函数结束后会释放空间。