solitaryclown

CPP引用变量

2023-05-03
solitaryclown

1. 引用变量

c++相比c语言的一个特性是有引用变量,引用变量的主要作用是用作参数,在调用函数时传递原始数据而不是副本,即在传递参数时,如果形参是声明的引用变量类型,则在传递实参时,是传递原始数据,通过形参的任何修改会影响到实参。

1.1. 例子

// 2023-5-3-CPP函数探幽.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

void swap(int& a, int& b);
void swap1(int a, int b);
int main()
{
	using namespace std;
	int a = 11, b = 22;
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	swap1(a, b);
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	swap(a, b);
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;

	system("pause");
}

void swap(int& a, int& b)
{
	int c = a;
	a = b;
	b = c;
}

void swap1(int a, int b)
{
	int c = a;
	a = b;
	b = c;
}

结果: p9YbY4K.png

1.1.1. 防止修改变量的值

在使用引用变量时,如果想要防止修改参数的值,在形参前面加上const修饰符。

// 2023-5-3-CPP函数探幽.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

int refcube(int& a);
int main()
{
	using namespace std;
	int a = 10;
	cout << refcube(a) << "=cube of " << a << endl;
	
	system("pause");
}

int refcube( int& a)
{
	a *= a * a;
	return a;
}
//编译器报错
//int refcube(const int& a)
//{
//	a *= a * a;
//	return a;
//}   

结果:


Comments

Content