从头到尾迭代基于范围的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) 次迭代器交换
从最后一项到第一项的反向迭代可以这样完成:
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) 次迭代器交换