📜  C++中的迭代器无效

📅  最后修改于: 2021-05-30 15:36:48             🧑  作者: Mango

在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等的更多准备工作,请参阅“完整面试准备课程”