![]() |
1
28
下一个C++标准C++(9),将增加从迭代器透视图到容器透视图的可能性。你将能做某事。 如果你等不及了,我建议你看看: Boost.Range 如果你真的对迭代器/范围感兴趣,我建议你阅读Andrei的“ iterators must go " |
![]() |
2
19
输入“范围”概念。最好避免 任何 代码重复。因此,如果在代码中遇到.begin()和.end()对,最好在“迭代器获取”和实际算法之间创建一个层。 参考资料: ... |
![]() |
3
7
|
![]() |
4
3
首先,我认为这不是什么大问题。一般来说,我并不真的在乎多输入几个字符。可读性更重要,我认为begin/end是完全可读的。
传递迭代器而不是容器本身意味着您在任何情况下都不必多次调用begin/end。
|
![]() |
5
3
真糟糕 ,我可能会在新名称空间中为我最常用的算法创建一组模板:
然后这样称呼他们:
|
![]() |
6
3
This nice presentation [PDF]reddit最近链接了关于未来可能的解决方案。它讨论了如何用范围概念完全替换迭代器。 |
![]() |
7
3
|
![]() |
8
1
boost::range_ex将在c++0x之前解决此问题。 同时,自己编写一些包装也不难。 |
|
Julia · 矢量中相加为总和S的值的数量 2 年前 |
![]() |
C_Rod · 在模板方法中确定STL容器中项目的数据类型 2 年前 |
![]() |
quantumwell · 将空向量放入std::map() 7 年前 |
![]() |
OutOfBound · 对未初始化内存使用算法的优点 7 年前 |
![]() |
DarthRubik · 在使用列表删除之后,迭代器如何不无效 7 年前 |