c++基础:指针_引用_const

来源:互联网 发布:伊娃格林知乎 编辑:程序博客网 时间:2024/05/16 13:20

1.学习引用

引用:引用不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名。
定义的格式为:
类型 &引用变量名 = 已经定义过的变量名;
引用的特点:
1.一个变量可以区多个别名。
2.引用必须初始化。
3.引用只能在初始化的时候引用一次,不能改变为再引用其他变量。

2.学习const引用

如果某变量的引用用const修饰,则这个别名变量具有常性不能被赋值;某变量如果被const修饰,它就是个常量具有常性所有只有常引用才可以引用。


3.学习引用做返回值和引用传参

(1)引用传参:如果形参是引用类型,则形参是实参的别名。

(2)引用做返回值

传值返回时,是将返回值的值放在eax寄存器中返回的;而传引用返回时,是将返回值的地址放在eax寄存器中返回的。

如果返回对象出了当前函数的作用域依旧存在,则最好使用引用返回,因为这样更高效。


4.对比指针和引用 

(1)引用只能在定义的时候初始化一次,之后就不能改变指向其它变量;指针变量的值可变。
(2)引用必须指向有效的变量,指针可以为空。
(3)sizeof指针对象和引用对象的意义不一样。sizeof引用得到的是指向变量的大小,而sizeof指针是对象地址的大小。
(4)指针和引用的自增(++)自减(--)意义不一样。
(5)相对而言,引用比指针更安全。