【发布时间】:2013-02-15 01:28:03
【问题描述】:
std::string 构造函数的web site cplusplus documentation 部分采用两个输入迭代器状态:
以相同的顺序复制 [first,last) 范围内的字符序列。
首先,最后: 输入迭代器到范围内的初始和最终位置。使用的范围是[first,last),包括first和last之间的所有字符,包括first指向的字符但不包括last指向的字符。
这在first == last 的退化情况下意味着什么?一方面包含first,另一方面排除last?官方 C++ 标准说在这种情况下应该发生什么?是否应该抛出异常?
【问题讨论】:
-
空字符串的构造并不是这样的退化情况。
-
文档没有这么说。
-
@WilliamKF:cplusplus.com 不是“The”文档。那是某人对文档的摘要。有些人对该网站的准确性也有疑问,尽管 IMO 他们似乎已经修复了大部分错误。
标签: c++ iterator language-lawyer stdstring