值传递
void f(int x) {
x++;
}x 是外面变量的一份复制。函数里改 x,不影响外面的原变量。
引用传递
void f(int &x) {
x++;
}& 表示引用,x 和外面的变量是同一个盒子。函数里改 x,外面也跟着变。
大容器传参
int sum(const vector<int> &a) {
int ans = 0;
for (int x : a) ans += x;
return ans;
}const 表示函数不改 a,& 表示不复制整份数组。