C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

Posted credream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031相关的知识,希望对你有一定的参考价值。

然后我们再去看看c++中的引用

上面是引用的语法,实际上就是,比如

我有个变量

int a = 10;

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

我们去看看上面我们就创建了一个a变量的引用,&b

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031


C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

然后我们再去看如果我们,用引用b,把a变量的值修改了,可以看到结果

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

然后我们再去看引用有两个必须要注意的地方.

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

引用不能这样:

int &b; 这样不行,必须给引用赋值一个他引用的哪个变量


然后还有引用,引用了一个变量以后,就是这个变量的引用了,不会再是别的变量的引用了,类似于绑定了一样.

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

然后我们再去用代码看看

可以看到直接

int &b; 声明一个引用不去初始化会报错.

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

然后我们再去定义一个int c =20;

然后 b=c;

注意,这个b =c;

实际上是把c的值赋值给了b了.并没有改变b的引用,b引用的还是a这个变量.

所以,b=c;

以后

a,b,c 的值都是20;

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

可以打印一下看看

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

对吧都是20

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

然后总结一下

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

然后我们再去看,引用可以让形参修饰实参,什么意思,就是我们修改了形参的内容,

实参也跟着变了,还是去看看代码

首先我们用值传递,来实现两个数的交换

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

然后我们去调用mySwap01 去传入两个值,交换,交换以后打印结果

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

可以看到结果,并没有交换,因为值传递,是把变量的值,复制了一份,然后传递过了

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

所以我们说,值传递,形参不会修饰实参.

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

然后我们再看在值传递中,我们在mySwap01这个函数中,打印一下a,b的值,

注意这个时候,这个a,b是形参,我们打印一下,由于a,b,是实参复制了一份,给他们的

所以,实际上这里,在方法内部,打印a,b的值,是已经交换过了的


C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

可以看到结果,被交换了.


C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

用指针进行数据交换.

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

然后再去打印结果

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

这个时候会看到,a,b的值被交换了,说明生效了.

也就是,方法给我交换a,b的值,我们在方法的外面,获取的这两个值也是别交换了的.

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

然后我们再去看看引用传递.

可以看到引用传递,这里传入的是,int &a ...注意这里的&a,是a这个变量的引用

注意不要混淆了.

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

这里我们调用的时候,直接写上a,b就可以, 因为函数接收的时候是接收的一个引用.

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

然后这个时候我们调用mySwap03

以后,然后我们看结果,可以看到a,b的值,是被调换了对吧.

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

这个就是引用的好处,可以直接修改,原本的这个变量的内容

C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031

所以总结,引用传递,形参会影响实参.

然后可以看上面的图去理解一下,调用

mySwap03的时候,传入的是a,b这两个值的引用.

这样实现了对实参的修改.

















以上是关于C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031的主要内容,如果未能解决你的问题,请参考以下文章

03_Java基础语法_第3天(ScannerRandom流程控制语句)_讲义

js 值和引用

C#_基本语法,数据类型,变量与常量

C++引用,内联函数,函数重载二义性总结_C++

JavaScript_01简介,基本语法,运算符

C#/.NET6期01C#基础_10_11_12数组声明引用类型如果没有赋值的话则默认值为null