#include <iostream>
int a(int &x) {
x = -1;
return x;
}
int main() {
int x = 5;
std::cout << a(x) << " " << x << std::endl;
}
爲什麼輸出是「-1 5」?C++中std :: cout的奇怪行爲
PS:編譯器是:
的i686-蘋果darwin11-LLVM-G ++ - 4.2(GCC)4.2.1(基於蘋果公司建立5658)(LLVM建立2336.11.00)
PS:編譯沒有任何優化。
這些標準術語是功能副作用 – fayyazkl