从头到尾迭代基于范围的 for 循环

Iterating ranged-based for loop from end to begin

本文关键字:for 循环 范围 迭代 于范围 从头到尾      更新时间:2023-10-16

从最后一项到第一项的反向迭代可以像这样完成:

for (int i = myContainer.size() - 1; i >= 0; --i) {
    // Do
}

如何反转基于范围的 for 循环:

for (auto i : myContainer) {
    // Do
}

使用 std::reverse。

std::reverse(std::begin(myContainer), std::end(myContainer));
for (auto i : myContainer) {
    // Do
}

这将添加 O(n( 迭代器交换