【发布时间】:2021-08-05 20:57:07
【问题描述】:
看到这些问题的答案(this 和this one)都在谈论 C,我无法将这方面的知识扩展到 C++,所以这不是重复,而是澄清。
更新:我只是在谈论 C++。如果某些东西是用 C 定义的,并不意味着它是用 C++ 定义的,反之亦然,这就是我问这个问题的原因。
【问题讨论】:
-
另一个问题被标记为 C++ 和 C。这不是我们的错,那里没有令人满意的 C++ 答案。这个问题感觉像是重复的。 C11 的答案和以前一样。
-
你问的是什么版本的 C++?很确定它在 C++20 中定义良好,因为现在保证有符号整数是二进制恭维的。在那之前。最有可能实现定义的行为。
-
嗯,这是来自 C++20 的文本(实际上是现在的 C++23 草案),在我看来,它似乎没有给价值留下任何余地:@987654323 @
-
我从其他问题中删除了 C++ 标签(它们不应该是双重标签,并且没有任何 C++ 答案)
-
这些运算符是在位上定义的。理论上,唯一定义的实现将是 C++ 20 之前的负数的实际整数值。
标签: c++ undefined-behavior implementation-defined-behavior