在C++中使用迭代器时,应格外小心。当我们使用迭代器迭代容器时,可能会发生迭代器无效的情况。这可能是由于在迭代时容器的形状和大小发生了变化。让我们举一个例子来理解这一点-
CPP
// CPP program to demonstrate iterator
// invalidations
#include
using namespace std;
int main()
{
// Creating a sample vector
vector v = {1, 5, 10, 15, 20};
// Changing vector while iterating over it
// (This causes iterator invalidation)
for (auto it = v.begin(); it != v.end(); it++)
if ((*it) == 5)
v.push_back(-1);
for (auto it = v.begin(); it != v.end(); it++)
cout << (*it) << " ";
return 0;
}
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。