std::string 构造函数的网站 cplusplus 文档部分采用两个输入迭代器状态:
以相同的顺序复制 [first,last) 范围内的字符序列。
first, last:输入迭代器到一个范围内的初始和最终位置。使用的范围是[first,last),包括first和last之间的所有字符,包括first指向的字符但不包括last指向的字符。
这在退化的情况下意味着什么first == last
?一方面first
包含,另一方面last
排除?官方 C++ 标准说在这种情况下应该发生什么?是否应该抛出异常?