C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031
Posted credream
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031相关的知识,希望对你有一定的参考价值。
然后我们再去看看c++中的引用
上面是引用的语法,实际上就是,比如
我有个变量
int a = 10;
我们去看看上面我们就创建了一个a变量的引用,&b
然后我们再去看如果我们,用引用b,把a变量的值修改了,可以看到结果
然后我们再去看引用有两个必须要注意的地方.
引用不能这样:
int &b; 这样不行,必须给引用赋值一个他引用的哪个变量
然后还有引用,引用了一个变量以后,就是这个变量的引用了,不会再是别的变量的引用了,类似于绑定了一样.
然后我们再去用代码看看
可以看到直接
int &b; 声明一个引用不去初始化会报错.
然后我们再去定义一个int c =20;
然后 b=c;
注意,这个b =c;
实际上是把c的值赋值给了b了.并没有改变b的引用,b引用的还是a这个变量.
所以,b=c;
以后
a,b,c 的值都是20;
可以打印一下看看
对吧都是20
然后总结一下
然后我们再去看,引用可以让形参修饰实参,什么意思,就是我们修改了形参的内容,
实参也跟着变了,还是去看看代码
首先我们用值传递,来实现两个数的交换
然后我们去调用mySwap01 去传入两个值,交换,交换以后打印结果
可以看到结果,并没有交换,因为值传递,是把变量的值,复制了一份,然后传递过了
所以我们说,值传递,形参不会修饰实参.
然后我们再看在值传递中,我们在mySwap01这个函数中,打印一下a,b的值,
注意这个时候,这个a,b是形参,我们打印一下,由于a,b,是实参复制了一份,给他们的
所以,实际上这里,在方法内部,打印a,b的值,是已经交换过了的
可以看到结果,被交换了.
用指针进行数据交换.
然后再去打印结果
这个时候会看到,a,b的值被交换了,说明生效了.
也就是,方法给我交换a,b的值,我们在方法的外面,获取的这两个值也是别交换了的.
然后我们再去看看引用传递.
可以看到引用传递,这里传入的是,int &a ...注意这里的&a,是a这个变量的引用
注意不要混淆了.
这里我们调用的时候,直接写上a,b就可以, 因为函数接收的时候是接收的一个引用.
然后这个时候我们调用mySwap03
以后,然后我们看结果,可以看到a,b的值,是被调换了对吧.
这个就是引用的好处,可以直接修改,原本的这个变量的内容
所以总结,引用传递,形参会影响实参.
然后可以看上面的图去理解一下,调用
mySwap03的时候,传入的是a,b这两个值的引用.
这样实现了对实参的修改.
以上是关于C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031的主要内容,如果未能解决你的问题,请参考以下文章