引用参数学习笔记
  uWfREFVdEpO4 2023年11月02日 36 0
C++

引用参数

定义

引用参数是由调用部位传入实参的地址(写在留言板上)的形参。

以符号“&”开始的参数即为引用参数。

如果一个形参是引用参数,调用部位将把实参的地址传递给子程序。子程序可以改变传递给引用参数的任何实参,因为子程序操作的是真正的变量,而不是它的副本。

引用变量在声明的时候必须初始化

例如:

int a;
int & ref = a;

引用参数操作的是引用的对象内存中的空间

	int a = 10;
	int & ref = a;//ref 引用 a的内存地址 
	printf("ref = %d\n", ref);
	a = 20;//当a内存的值改变,ref找到a的内存地址得到改变后的值 
	printf("当a改变后ref = %d\n", ref);
	ref = 30;//ref对引用的内存地址进行改变, a在内存中的值改变,a改变 
	printf("当ref改变后a=%d",ref);

普通变量操作自己的内存空间

	int a = 10;
	int b = a;//使用了一个int大小的空间给b,将a的值复制给b 
	printf("b = %d\n", b);
	a = 20;//当a所在内存的值改变,b所在内存 的值不会受影响 
	printf("当a改变后b = %d\n", b);
	b = 30;//b所在内存的值改变, a在内存中的值也不会受影响 
	printf("当b改变后a=%d",a);

使用引用参数的函数调用方式

int sum(int & a, int & b);
//c = sum(10, 20);        错误,不能传入直接数
int a = 10, b = 20;
c = sum(a, b);          //正确,必须通过变量将值传入函数

但是如果函数在声明的时候用const修饰了引用变量,就可以传入直接数,编译器会创建一个临时的无名变量跟引用变量绑定。例如:

int sum(const int & a,const int & b);
c = sum(10, 20);         //正确,引用变量被const修饰
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  8Tw5Riv1mGFK   2024年05月01日   82   0   0 C++
  BYaHC1OPAeY4   2024年05月08日   58   0   0 C++
  yZdUbUDB8h5t   2024年05月05日   44   0   0 C++
  oXKBKZoQY2lx   2024年05月17日   62   0   0 C++
uWfREFVdEpO4
作者其他文章 更多