stl容器set,map,vector之erase用法与返回值详细解析
2023-06-13 09:15:05 时间
总结本人在工作中经验教训。
正确使用方法1
std::list<int>List;
std::list<int>::iteratoritList;
for(itList=List.begin();itList!=List.end();)
{
if(WillDelete(*itList))
{
itList=List.erase(itList);
}
else
itList++;
}
正确使用方法2
std::list<int>List;
std::list<int>::iteratoritList;
for(itList=List.begin();itList!=List.end();)
{
if(WillDelete(*itList))
{
List.erase(itList++);
}
else
itList++;
}
正确使用方法3
std::list<int>List;
std::list<int>::iteratorit,next;
for(it=List.begin(),next=it,next++;it!=List.end();it=next,++next)
{
if(WillDelete(*it))
{
List.erase(it);
}
}
我测试得出,set.erase不返回迭代器,list返回。
vector 删除操作
std::vector<PACK_PRINT>::iteratorIt;
for(It=printItems.begin();It!=printItems.end();)
{
//我是说这里怎么判断printItemsprintItems里PACK_PRINT.bh=0
if(It.bh==0)//是这样吗?
{//删除
It=printItems.erase(It);
}
else
{//不删除
++It;
}
}
std::vector<PACK_PRINT>printItems;
inti=0;
while(i<printItems.size())
{
if(printItems[i].bh==0) //这里比如我想把printItems时PACK_PRINT.bh=0的删除如何写哟。另外这样删除有错吗?
{//删除
printItems.erase(printItems.begin()+i);
}
else
{//不删除
++i;
}
}
相关文章
- java中map根据value找key_Java Map和Map<String, Object>类型,map通过value找key
- 大数据必学Java基础(五十七):Set接口讲解
- MAP遍历_map容器遍历
- 请简述list,set,map类型的集合的各自特点_list与set的区别
- C++精通之路:map和set的介绍和有关oj题
- Set 和 Map 数据结构
- 【C++】map、set、multimap、multiset的介绍和使用
- ORA-30131: number of keys being set exceeds allocation ORACLE 报错 故障修复 远程处理
- ORA-30681: improper value for argument EXTENSIONS_CMD_SET ORACLE 报错 故障修复 远程处理
- ORA-31231: DBMS_LDAP: invalid PROPERTY_SET ORACLE 报错 故障修复 远程处理
- ORA-38488: attribute set already assigned to the column storing expressions ORACLE 报错 故障修复 远程处理
- MySQL Error number: MY-011309; Symbol: ER_XPLUGIN_FAILED_TO_SET_MIN_NUMBER_OF_WORKERS; SQLSTATE: HY000 报错 故障修复 远程处理
- List、Map、Set 三个接口,存取元素时,各有什么特点详解编程语言
- MySQL中使用SET字段类型的方法及注意事项(mysql中使用set)
- MySQL中SET的功能及用法简介(mysql中set的意思)
- MySQL中如何使用SET (mysql中set @)
- 解决Redis频繁修改Map难题(redis频繁修改map)
- Redis中Set集合操作实战技巧(redis集合set操作)
- 探索Redis中的Map之谜(redis里查map)
- 科学上网如何使用Oracle MAP(oracle map使用)
- 灵活运用Redis如何实现设置多个Map(redis设置多个map)
- 利用Redis设置Set值的实现方法(redis设置set值)
- list,set,map,数组之间的相互转换详细解析
- 浅析stl序列容器(map和set)的仿函数排序