C++ 引用
& 引用 vs 指针、左值/右值引用 · 难度:进阶 · +20XP
C++ 引用
引用(&)是变量的别名。操作引用就是操作原变量。比指针更安全(不能为空,必须初始化)。
引用 vs 指针
| 引用 | 指针 |
|---|---|
| 必须初始化 | 可以为 nullptr |
| 不能重新绑定 | 可以指向不同的对象 |
| 语法更简洁 | 需要 * 解引用 |
int x = 42;
int& ref = x; // ref 是 x 的别名
ref = 100; // 修改 ref 就是修改 x
// int& r2; // ❌ 引用必须初始化!
// int& r3 = 10; // ❌ 不能绑定到字面量(需要 const)
const int& r4 = 10; // ✅ const 引用可以绑定到字面量
引用传递(避免拷贝)
void modify(int& n) { n *= 2; } // 修改原值
void print(const string& s) { ... } // 避免拷贝,不修改