我需要在结束之前从容器的开头迭代到一个元素。我可以在循环中放置一个if
条件来绕过最后一个元素,但我想知道是否可以像这样编写for循环:
for (it = C.begin(); it != C.rbegin(); it++){...}
如果没有,有什么建议吗?
容器是否依赖? (目前,我正在使用std::vector
,但可能会更改)
答案 0 :(得分:1)
除了Tony D的注释之外,您还可以使用std::prev(C.end())
来获取结束迭代器之前的迭代器:
for (it = C.begin(); it != std::prev(C.end()); it++);
// ^^^^^^^^^^^^^^^^^^