【发布时间】:2017-02-04 05:04:56
【问题描述】:
当我阅读C++ 编程语言时,我发现这一段说
传递给 inserter() 的迭代器必须是容器中的迭代器。对于序列容器,这意味着它必须是双向迭代器(以便您可以在它之前插入)。例如,您不能使用 inserter() 制作迭代器以插入到 forward_list...
所以我开始寻找标准的相关部分来验证这个陈述。然而,这一段(23.2.6 [associative.reqmts] 第 6 段)只与 associative container 相关:
关联容器的迭代器属于双向迭代器类别...
在哪里可以找到标准中序列容器的迭代器类型?
【问题讨论】:
-
不是标准,而是good reference。
-
@πάνταῥεῖ 我也知道 std::iterator_traits,但我认为这是在编译时完成的。你的意思是说序列容器的迭代器类型是实现定义的,所以不能在标准中说明?
标签: c++ iterator language-lawyer