引用
概念与定义
引用不是定义新变量,而是给已存在的变量起别名。编译器不会为别名开辟新空间,它与原变量共享同一块内存。就像土豆和马铃薯的关系,本质是同一个东西。
语法格式如下:
类型& 别名 = 变量
例如:
int a = 10;
int& num = a;
此时 num 就是 a 的别名,修改 num 等同于修改 a。注意在 C++ 中,& 用于引用时代表取别名,而非 C 语言中的取地址。
引用特性
1. 定义时必须初始化
引用必须绑定到一个有效的对象,不能悬空。
#include<iostream>
using namespace std;
int main() {
int a = 10;
int& num = a; // 正确,已有被引用对象
// int& num; // 错误,未初始化
return 0;
}
通俗来说,就像'有人外号叫小明',如果没指定是谁,这个外号就没意义。只有绑定了具体的人(如张三),引用才成立。
2. 一个变量可有多个引用
一个变量可以有多个别名,它们的地址完全一致。
#include<iostream>
using namespace std;
int main() {
int a = 10;
int& num1 = a;
int& word = a;
cout << &a << endl;
cout << &num1 << endl;
cout << &word << endl;
return 0;
}
运行结果会显示所有地址相同,说明它们指向同一块内存。


