提到引用你会想到什么呢?可不是语文中的 该诗句引用于“某某”的诗。我们这里提到的引用哇是c++里面一种特有的用法,那么下面让我们一起看看引用究竟是怎么用的吧!
引用的定义
int a=10; int &b=a;
引用的写法很简单,就是多了一个&而已,当然你看到这里感觉很懵逼,这是什么东西?引用究竟是什么?
不要慌,我们不防先打印一下b的值
b=10;
我们惊奇的发现b的值也等于10,这时我们不禁会想a和b是不是一个东西。这时有的小黑子可能会说,那我不加&,b打印还不是等于10,那你加了有屁用。
int a=10; int b=a;
咦,好像是这样也,打印出来的值确实还是10,想必这个大家都应该看的懂,就是将a的值赋值给了b,到了这里好像思路断了......
不不不,我们想想我们最开始的假设是a和b是一个东西,居然a无从下手,我们何不从b下手,倘若我修改b的值,a也跟着变了的话,那么就是一个东西,如果不变的,那就小黑子赢了。
话不多说感紧实操!
int a = 10; int& b = a; b = 100; cout << "b=" << b << endl; cout << "a=" << a << endl;
运行结果:
b=100 a=100
我们惊奇的发现a的值居然也变成了100,哈哈,终究是鸡窝塔楼,小黑子输了。
好了,说了这么久,我们来总结一下,说白了,c++的引用就是一种别名,就相当于叫你的大名是你,叫你的小名还是你,在c++内部我们知道变量名实质是一段连续储存空间的别名,所以说变量a就是一个地址的名字,int &b=a;那么变量b就也是a所指向的那个地址的名字了。
细节:
1.引用必须是已经定义变量的别名 eg:int &b=10;这是错误的写法。
2.&的位置在中间,像int& b或者int &b都可以。
3.再次强调引用的语法:类型& 别名=原变量名;