1.引用的概念及用法
引用不是定义了一个新变量,而是给已经定义的变量起了一个新的名字。
用法: void fun(){
int a = 5;
int& b = a;
}
类型& 引用变量名 = 已定义的变量名。
2.引用做参数
引用作为参数在修改变量后在函数返回仍然存在,在函数传参过程中,要是非常大的一个参数传递,利用引用可以减小开销。
3.引用做返回值
不希望改变传入参数的值时候,使用const引用, 不要返回一个临时变量的引用, 如果返回对象出了当前函数的作用域依旧存在,使用引用返回,这样更高效。
4.汇编层看引用的特性
在使用引用做参数时,虽然引用只是对一个已定义的变量重新起了一个名字,但是在汇编层还是新开辟了一块空间存放它的地址,但可以认为引用并没有开辟空间。
5.引用和指针的区别
引用只能在初始化的时候定义一次,之后就不能改变引用指向的值,而指针可以修改。
引用必须指向有效的变量,指针可以指向空。
sizeof指针对象和引用对象的意义不一样。sizeof引用得到的是所指向的变量的大小,而sizeof指针是对象地址的大小。
指针和引用自增(++)自减(--)意义不一样。