标签:
cstl标准模板库杂谈 |
分类: C |
STL中list的erase用法
erase的作用是,使作为参数的迭代器失效,并返回指向该迭代器下一参数的迭代器。
如下:
list<DotSource> ParticleSystem;
list<DotSource>::iterator pointer;
if(pointer->dead == true)
{
}
有一段关于错误使用erase的程序
#include<stdio.h>
#include<list>
using namespace std;
int main()
{
}
问题:该程序不能跳出循环
原因:test_list.erase(test_list_it);每次做erase时都有可能使迭代器失效,test_list_it++就发生错误了。可以参见effect