引用
引用的本质:给变量名取别名(常量指针)。(引用必须初始化)(同一空间)
方法:
int a = 10;
int &b = a; //给变量a取别名为b
解释:给a取别名为b,a与b为同一个空间,只是一个空间两个名字,a与b为同一个地址;(一个人有两个名字,两个名字指的是同一个人)
注意:1、在定义时 ,&修饰变量为引用;
2、定义引用必须初始化(因为要知道给谁取别名)
示例:
1.给变量取别名
2.给数组取别名
3.给指针变量取别名
注意:在定义时,取别名*与&不能抵消
4.给函数取别名
5.指针和引用作为函数参数的区别
通过传地址,指针接收来改变值,占用空间;
通过传变量名,引用接收来改变值,不占用空间;
函数内部通过指针操纵函数外部的值
函数内部通过引用操纵函数外部的值
6.返回值是引用
发生段错误的原因
返回值是引用,但是在getval()函数中定义了局部变量num,在函数结束便释放,在test06()中会显示num没有定义。
修改错误
将局部变量num设置为全局变量
7.常引用
函数内部修改了外部num的值
加const修饰后,函数内部不能修改a的值