我需要从容器的开头迭代到结尾之前的一个元素。我可以在循环中放置一个 if
条件来绕过最后一个元素,但我想知道是否可以像这样编写 for 循环:
for (it = C.begin(); it != C.rbegin(); it++){...}
如果没有,有什么建议吗?
是否依赖于容器? (现在,我正在使用 std::vector
但它可能会改变)
最佳答案
除了Tony D的评论, 你可以使用 std::prev(C.end())
获取结束迭代器之前的迭代器:
for (it = C.begin(); it != std::prev(C.end()); it++);
// ^^^^^^^^^^^^^^^^^^
关于c++ - 是否可以从 .begin() 迭代到 .rbegin(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27435793/