简单梳理一下对于引用的理解。
初步理解可以参照:c++中常引用const int &a的介绍。
需要注意的是,如果需要对一个变量声明一个引用变量,那么:
1)声明引用变量的时候就要初始化
,因为引用变量没有分配内存,而是直接指向变量的地址。可以理解为起了另一个名字来称呼一个东西。
int x;
int &y=x;
2)只能初始化一次
,声明的时候初始化一个变量,那么就不能更改了。
在函数传参的时候用的比较多,主要分为3种情况进行说明:(不是函数调用的3类)
1)传值调用
函数形参就是变量,实参直接传值给函数,对于形参的改变不影响实参。
int sum(int a,int b){...}
2)引用调用
函数形参是引用变量,对于形参的改变影响实参
void sum(int a,int b,int &c) {...}
3)常引用调用
函数形参是常引用,虽然使用引用调用的时候,形参改变会影响实参,但是加上const关键字,就无法在函数中改变形参,那么也就不会改变实参了。
可以用来解决非常量引用的初始值必须为左值
的问题,加入const后,形参变为常量,就可以是右值引用了。
int sum(const int &a, const int &b, int &c) {...}