C++ 此代码是否未定义行为?

C++ 此代码是否未定义行为?,c++,c++11,c++14,undefined-behavior,C++,C++11,C++14,Undefined Behavior,我遇到了这段代码: #include <iostream> int main() { int m = 44; std::cout << "m = " << m << ", m++ = " << m++ << ", ++m = " << ++m << std::endl; return 0; } 这个输出正确吗?克朗给了我。这只是为了展示我们高等教育体系的质量。这确实解释了我所看到的许多,在过去几

我遇到了这段代码:

#include <iostream>

int main()
{
int m = 44;
std::cout << "m = " << m << ", m++ = " << m++ << ", ++m = " << ++m <<
std::endl;

return 0;
}

这个输出正确吗?

克朗给了我。这只是为了展示我们高等教育体系的质量。这确实解释了我所看到的许多,在过去几年中,附在了 C++ +/Cuth>标签上。我的经验是大学不知道他们在编程专业方面的专长。是的,这是C++中所有版本的未定义行为。虽然有一个C++17的提案,它将用Clang给我的左右评估顺序来定义它。这只是为了展示我们高等教育系统的质量。这确实解释了我所看到的许多,在过去几年中,附在了 C++ +/Cuth>标签上。我的经验是大学不知道他们在编程专业方面的专长。是的,这是C++中所有版本的未定义行为。虽然有一个关于C++17的建议,它将用左右求值顺序来定义它
m = 46, m++ = 45, ++m = 46