c++ 未定义与未定义行为

70gysomp  于 2023-02-06  发布在  其他
关注(0)|答案(2)|浏览(225)

frontback上的cppreference措辞令人惊讶地(至少对我来说)不对称。
front
未定义对空容器调用front
back
对空容器调用back会导致undefined behavior
我知道我应该只问一个问题,但还是,
1.为什么不同?,以及
1.* is undefined * 和 * causes undefined behavior * 之间有什么区别?

eqqqjvef

eqqqjvef1#

在C++中,“undefined”和“undefined behavior”之间没有区别。这两个术语指的是同一个概念:标准没有规定某项操作的预期结果的情况。

vsmadaxz

vsmadaxz2#

未定义和导致未定义行为之间的区别是什么?
它们在这里的意思是一样的。
为什么不同?
很可能是因为该页面由不同的作者编写或/和很长一段时间没有更新。尽管如此,两者的意思是相同的。

更新

该页面现在已经更新,使文档语言更加一致。特别是,现在front说:
在空容器上调用front会导致未定义的行为

相关问题