int main() { int a = 10; int & b = B(a); // 調用 B, 傳遞的是 a 的引用 // 到了 B 裏, n 就是指 a, // return n; 就相當是 return a; // 返回到 b 的就是 a 的引用, b 就是 a // 對 n 和 b 的操作會直接影響 a, 因爲它們是同一個東西. cout << b << endl; cout << a << endl; } ---------------------------------- 對於 int A(int n) { return n; }
這裏如果是 int c = A(a); 這樣調用, n 不是 a, 而是一個 a 的副本 (複製值) 返回的只是一個值"副本", 沒有引用任何東西, 對於原始的 a 沒有任何影響