, 나는 Visual Studio에서 다음 코드에 의해 설명 될 수있다 2012 C++ 컴파일러 이상한 이상 발생했습니다C++ 할당 부작용
double x1 = 2;
double x2 = 1;
std::tie(x1, x2) = std::minmax(x1, x2);
std::cout << "x1 = " << x1 << ", x2 = " << x2 << "\n";
일 것으로 기대 x1은 1이고 x2는 2입니다. 그러나 그들은 그렇지 않습니다. 대신
//output:
//x1 = 1, x2 = 1
비슷한 함정에 빠지지 않게하려면 좋은 설명이 있습니까?