我想在一段时间内处理一个向量中的元素.为了优化这一点,我不想在处理项目时删除它,并在最后删除所有已处理的项目.
vector<Item*>::iterator it;
for(it = items.begin(); it != items.end(); ++it)
{
DoSomething(*it);
if(TimeIsUp())
{
break;
}
}
items.erase(items.begin(), it);
Run Code Online (Sandbox Code Playgroud)
使用擦除时安全it == items.end()吗?在文件中,据说erase()将删除[第一个,最后一个],这应该是安全的,但我想确定.
编辑:
使用std :: vector.erase(begin(),begin())是否安全?
| 归档时间: |
|
| 查看次数: |
1292 次 |
| 最近记录: |