C++中利用“引用变量“来交换值

#include <iostream>

void swap(int& x, int& y)
{
	int t = 0;
	t = x;
	x = y;
	y = t;
}

int main()
{
	int a = 123;
	int b = 456;

	std::cout << "Before:" << std::endl;
	std::cout << "a=" << a << std::endl;
	std::cout << "b=" << b << std::endl;

	swap(a, b);

	std::cout << "After:" << std::endl;
	std::cout << "a=" << a << std::endl;
	std::cout << "b=" << b << std::endl;

	return 0;
}

在swap函数前面打断点,调试界面如下:

我们可以发现:a与x,b与y的地址相同,所以我们可以知道,所谓的"引用变量"其实就是一个变量的别名,两者指向同一个地址的内容,对引用变量的操作即是对正式变量的操作。所以利用swap函数,可以成功交换a、b两值。

运行结果如下所示:

 

 


版权声明:本文为YanYuSheng45原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。