迭代是否遍历整个列表

Does iteration go through the whole list

本文关键字:列表 遍历 是否 迭代      更新时间:2023-10-16

取以下代码:

std::list<int> intList;
for (int i = 0; i < 10; ++i) {
intList.push_back( 1 << i );
}
std::list<int>::const_iterator iterator;
for (iterator = intList.begin(); iterator != intList.end(); ++iterator) {
std::cout << *iterator;
}

我看到如何循环访问列表。查看迭代,我认为您跳过了最后一项。是这种情况吗,如果是这样,解决它的最佳方法是什么。

实际上,最后一项没有被跳过。指向intList.end()-1的迭代器指向最后一项,而不是您可能认为的intList.end()