c++学习(四、引用)
目录
一、引用的基本语法
二、引用做函数参数
三、引用做函数的返回值
四、常量引用
参考链接:06 C++中的引用-引用的基本语法_哔哩哔哩_bilibili
一、引用的基本语法
引用的本质是一个指针常量,但是调用的时候编译器有其他的处理,所以不用加一个*。
1.既然是指针,修改一个另外一个也会发生改变。
2.既然是指针常量,那么一旦初始化之后就不可以更改,这个很正常,因为比如c现在是一个指针常量,我怎么修改它的指向呢,直接c = xxx,这会自动被编译器识别是值的变化,如果是&c没有这个语法。
二、引用做函数参数
三、引用做函数的返回值
1.不能返回函数内部的局部变量,因为函数执行结束之后,这个变量的内存就被回收了,但是却返回了这个内存,所以当访问这个内存的时候,相当于调用了野指针,就会内存报错。
2.返回值是静态变量,一切正常
int &c = test();
std::cout<< c << std::endl;
test() = 100;
std::cout<< c << std::endl;
3.引用可以作为左值,只要理解引用的本质是一个指针常量,其实这1,2,3都容易理解。
int &c = test();
std::cout<< c << std::endl;
test() = 100;
std::cout<< c << std::endl;
四、常量引用
当引用作为函数的参数的时候,希望可读而不可写,使用这种方式