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

Iterating ranged-based for loop from end to begin

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

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) 次迭代器交换