小编998*_*353的帖子

为什么在 C++11 之后 std::basic_string 的尾后迭代器的取消引用仍然是 UB?

众所周知,C++11 添加了一个 null 终止符std::basic_string(这不计入大多数成员函数)。但是当我阅读cpp ref时,我发现对 UB 的取消引用(这一段与 std::vector 的段落end()几乎相同)。为什么会出现这种情况?或者这是 cpp ref 的错误(请提供此文档以进行验证)?

我尝试过 GNU C++,但不幸的是 __gnu_debug 似乎不包含std::string迭代器检查器。Clang++ 的消毒剂也没有。

c++ iterator stdstring undefined-behavior c++17

2
推荐指数
1
解决办法
118
查看次数

标签 统计

c++ ×1

c++17 ×1

iterator ×1

stdstring ×1

undefined-behavior ×1