1.学习引用
引用:引用不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名。
定义的格式为:
类型 &引用变量名 = 已经定义过的变量名;
引用的特点:
1.一个变量可以区多个别名。
2.引用必须初始化。
3.引用只能在初始化的时候引用一次,不能改变为再引用其他变量。
2.学习const引用
如果某变量的引用用const修饰,则这个别名变量具有常性不能被赋值;某变量如果被const修饰,它就是个常量具有常性所有只有常引用才可以引用。
![](https://img-blog.csdn.net/20170704110040261?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VueGlucWk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3.学习引用做返回值和引用传参
(1)引用传参:如果形参是引用类型,则形参是实参的别名。
(2)引用做返回值
传值返回时,是将返回值的值放在eax寄存器中返回的;而传引用返回时,是将返回值的地址放在eax寄存器中返回的。
如果返回对象出了当前函数的作用域依旧存在,则最好使用引用返回,因为这样更高效。
4.对比指针和引用
(1)引用只能在定义的时候初始化一次,之后就不能改变指向其它变量;指针变量的值可变。
(2)引用必须指向有效的变量,指针可以为空。
(3)sizeof指针对象和引用对象的意义不一样。sizeof引用得到的是指向变量的大小,而sizeof指针是对象地址的大小。
(4)指针和引用的自增(++)自减(--)意义不一样。
(5)相对而言,引用比指针更安全。