为什么C ++标准的索引具有"未定义的行为"?

时间:2014-11-20 23:51:53

标签: c++ c++11 language-lawyer

C ++ 11和C ++ 14在其索引中都有"未定义行为" 的条目,指向[istreambuf.iterator]部分。据我所知,没有明显的理由,C ++ 03的条目指向[defns.undefined]

我错过了什么?或者这只是一个编辑错误?

(截至10月13日,我找不到符合此观点的任何匹配的openclosed核心工作组问题。)

2 个答案:

答案 0 :(得分:9)

std-discussion seem to agree that this is just an editorial issue的人们。

因此我提出了它,因此它在github上成为draft issue 409;它很快被解决并关闭了。

我有一天会在最后一次更新这个答案,并附上包含修复的第一稿的标识符;它出现的第一个标准是C ++ 17。

答案 1 :(得分:3)

这是一个编辑错误。

基本上line here应该说\indextext{undefined}

C ++标准使用\makeindex和一堆宏来生成它们的索引,并且只有一个\indextext{undefined behavior}实例被使用,它指向istreambuf.iterator而不是指向它应该在哪里。他们倾向于使用\indextext{undefined}来累积所有不同的未定义行为案例,但似乎有人使用了\indextext{undefined behavior}