C++中的引用 — 常量引用_使用场景

  • 防止误操作

C++中的引用 — 常量引用_内存空间_02

C++中的引用 — 常量引用_数据_03

 

点击查看代码
#include<iostream>
#include<string> 

using namespace std;

//常量引用
//使用场景:用来修饰形参,防止误操作

//打印函数
void showValue(int &val)
{
	//原名b指向的数据也变成1000了(指向同一块内存空间)
	val = 1000;
	cout << "val = " << val << endl;

}

void constShowValue(const int &val)
{
	//val = 1000; //Error:表达式必须是可修改的左值
	cout << "val = " << val << endl;

}

int main(){

	int a = 10;
	//int &ref = 10;// error 引用必须引一块合法的内存空间

	//加上const之后,编译器将代码修改为:int temp = 20;  const int &ref = temp;
	const int &ref = 20;

	//加入const之后变为只读,不可以修改
	//ref = 30; //Error:表达式必须是可修改的左值

	int b = 10;
	showValue(b);
	//没加const时候
	cout << "b = " << b << endl; //b = 1000;

	system("pause");

	return 0;
}