c++快速简易入门教程_009引用

1 引用

在c++中引用就是一个变量的别名,它需要用另一个变量或对象初始化自身。如下是一个简单的例子。

#include <iostream>
using namespace std;

void main(){
	
	int a = 5;
	int &b = a;//用&表示申明一个引用。引用必须在申明时进行初始化
	int c = 3;
	b = c;
	
	cout << "b=" << b << endl;
	cout << "a=" << a << endl;

	printf("hello....");
	system("pause");
	return;
}

运行结果:
b=3
a=3
hello....请按任意键继续. . .

为什么a的值会被改变了呢?这是因为引用和用来初始化引用的变量指向的是同一块内存,因此可以通过引用和变量改变同一块内存中的内容。正因为如此我们在编程中很少使用引用,如果一个内存可以通过变量和引用都进行修改那可就麻烦了。引用多数用在函数的形参定义上,在调用函数传参时,我们经常使用指针传递,一是避免在实参占较大内存时发生值的复制,二是完成一些特殊的作用,例如在函数中修改实参所指向的内容。同样使用引用也能完成指针的功能,有些情况下能达到使用指针更好的效果,以下就是一个很好的例子:

#include <iostream>

using namespace std;

// ange函数主要用来交换a和b
void change(int &a, int &b);
void main(){

	int x = 5;
	int y = 3;
	cout << "original x=" << x << endl;
	cout << "original y=" << y << endl;

	change(x, y);	/*此处如果用指针传递,则调用change(&x,&y),这样很容易让人迷惑,不知道交换的是x和y的值,还是x和y的地址?此处用引用,
					可读性就比指针要好
					*/

	cout << "changed x=" << x << endl;
	cout << "changed y=" << y << endl;

	printf("hello...\n");
	system("pause");
	return;
}

void change(int &a, int &b){

	a = a + b;
	b = a - b;
	a = a - b;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DaveBobo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值