一句话理解
引用参数让函数直接操作外面的那个变量,而不是副本。
为什么要学
交换两个变量、读入到函数里、避免复制巨大对象,都用引用。
讲解
写法:void swap2(int &a, int &b)。& 在这里表示引用,不是取地址运算的那种用法。
函数里改 a,就是改传入的那个变量。const T& 表示只读引用,避免拷贝又不允许修改。
例子
void add1(int &x) { x = x + 1; }
int main() {
int a = 3;
add1(a);
cout << a;
return 0;
}
输出:
4
x 是 a 的别名,加 1 后 a 变成 4。对比按值传递的那课。
常见错误
- 引用必须绑到已有变量,不能绑到临时整数字面量当普通 int&。
- 和指针语法搞混。