在解决http://cppquiz.org上的测试时,我发现了这段有趣的代码:
#include <iostream>
int f(int& a, int& b) {
a = 3;
b = 4;
return a + b;
}
int main () {
int a = 1;
int b = 2;
int c = f(a, a);// note a,a
std::cout << a << b << c;
}
我的问题是这个程序是合法的 C++ 还是不是?我担心严格的混叠。