【发布时间】:2013-06-29 13:08:55
【问题描述】:
在尝试确保两个变量的升序时,我在 Visual Studio 2012 C++ 编译器中遇到了奇怪的异常,可以通过以下代码 sn-p 说明
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
有什么好的解释,以免再次陷入类似的陷阱?
【问题讨论】:
标签: c++ visual-studio-2012 tuples