引用变量

引用变量

引用变量是什么?

给各位举个例子:
假设你叫小明(原变量),但是你的朋友都叫你明哥(引用)————这是两个不同的名字,但是指的都是你,也就是小明

引用变量为一个已经存在的变量创造一个别名,引用变量和原变量共享同一块内存空间,对引用的任何读写操作,都会直接作用于原变量本身 —— 引用不是新变量,只是原变量的 “另一个名字”。

怎么定义和使用引用变量?

1. 基本语法

引用变量格式为:元素类型 名称=要等于的变量
注意:引用变量一定要在声明时就赋值!而且一旦赋值,就永远绑定无法改变代表对象!

int a;
a = 10;
int& ref_a=a;
ref_a = 20;
cout << a;
cout << ref_a;
return 0;

输出

2020

2. 作为函数参数

void double_copy(int a) {
	a = a * a;
}

void double_reference_variable(int& a) {
	a = a * a;
}

void double_normal(int* a) {
	*a = (*a) * (*a);
}

int main() {
	int a=2;
	double_copy(a);
	cout << "修改副本后的值为:" << a<<endl;

	double_reference_variable(a);
	cout << "使用引用变量:" << a<<endl;
	a = 2;
	double_normal(&a);
	cout << "使用指针:" << a<<endl;
	return 0;
}

输出

修改副本后的值为:2
使用引用变量:4
使用指针:4

3. 只读引用

加上const即可

const int &a1=a;

与指针的区别

引用变量无法取代指针

指针:

  1. 可先定义,后赋值
  2. 可以随时修改指向变量
  3. 可以为空
  4. 占用及少部分的内存
  5. 有空指针,野指针的风险

引用变量:

1.定义时必须赋值
2. 定义之后不可改变指向
3. 不可为空
4. 内存方面无额外开销,只是别名
5. 安全性极高

注意

不能定义引用变量的引用变量,这在C++中不被允许

总结

1.引用变量是函数的别名,与原函数共享内存,核心优点是简洁,安全,高效
2.引用比指针更安全,但灵活性不如指针,日常优先使用引用,仅在需要频繁指向不同对象时使用指针

posted @ 2026-01-26 19:49  努力的小xu  阅读(0)  评论(0)    收藏  举报