使用迭代器删除 其中的一个

for (CXMLWrapperUserObj::VEC_USEROBJS::iterator itor = pVecAll.begin(); itor != pVecAll.end(); )

{   CXMLWrapperUserObj *pSingleFlowerUserObj = *itor;

DressUpgradeConfigModel *pModel = new DressUpgradeConfigModel;

pModel->FieldFromUserConfig(pSingleFlowerUserObj);

int nDressID = pModel->getDressUpgradeID();

CDressItemModel *pDressItemModel = CDressItemModel::GetDressItemModelByID(nDressID);

if (NULL == pDressItemModel)

{

continue;

}

string strDressSex = pDressItemModel->GetSex();   //0-女  1-男

if (m_strRoleSex != strDressSex)

{

itor = pVecAll.erase(itor);

}

else

{

itor++;

}

}

时间: 2024-10-27 08:56:48

使用迭代器删除 其中的一个的相关文章

UITableView删除分组最后一个元素

UITableView删除分组最后一个元素,需要把分组同时删除. 1.首先在数据源上删除数据. 2.UI上删除cell: [tableView deleteRowsAtIndexPaths:[NSArrayarrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; 3.删除数据源上分组的元素. 4.UI上删除分组元素: [tableView deleteSections:[NSIndexSetind

【剑指offer】删除在另一个字符串中出现的字符

转载请注明出处:http://blog.csdn.net/ns_code/article/details/27110873 剑指offer上的字符串相关题目. 题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符.例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变成"Thy r stdnts.". 这里主要要分析两个方面: 1.如何判断那些字符是需要删除的字符.同很多字符串问题一样,可以开辟

迭代器删除自己

迭代器删除自己 如果是 java, 迭代器删除自己, 只要简单的 iter.remove; list<int> l; l.push_back(1); l.push_back(3); l.push_back(4); std::list<int>::iterator iter; std::list<int>::iterator tmp_iter; for (iter = l.begin(); iter != l.end(); iter++) { if (*iter == 3

删除双向链表最后一个元素

初始化双向链表后使用尾插法插入元素,然后对插入的元素进行删除,发现不能删除链表最后一个元素... 控制台没反应,删除最后一个元素失败了,然后思考了几分钟,发现问题所在... 控制台正常输出,问题解决了... 原文地址:https://www.cnblogs.com/YLJ666/p/12252829.html

STL 中 使用迭代器删除元素的问题

在vector中删除,大家都知道,直接erase的话,这种写法很有问题.因为erase(iter)之后iter指针就变成野指针了,此时继续iter++就会出问题. 1 for(auto iter = v.begin(), iter!=v.end(); iter++) 2 { 3 if(iter == 3) 4 v.erase(iter); 5 } 因此vector中正确的删除的方法是: for(auto iter = v.begin(), iter!=v.end(); /*iter++*/) {

利用迭代器删除表中元素

例子:将test表中的偶数移除掉 local test = { 2, 3, 4, 8, 9, 100, 20, 13, 15, 7, 11} for i, v in ipairs( test ) do if v % 2 == 0 then table.remove(test, i) end end for i, v in ipairs( test ) do print(i .. "====" .. v) end 打印结果: 1====3 2====8 3====9 4====20 5=

Python3基础 delattr 删除对象的一个属性 如果属性不存在,就抛出异常

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: class A : #属性 num=0 a=A() introduction='你所访问的属性不存在' print(getattr(a,'haha',introduction)) setattr(a,'haha',1) print(getattr(a,'haha')) dela

jquery 删除字符串最后一个字符的方法

字符串:var s = "1,2,3,4,5," 目标:删除最后一个 "," 方法: s=s.substring(0,s.Length-1): 字符串:var s2 = "img/upload/123.jpg" 目标:获取文件名(不包含后缀名) 方法: s2=s2.substring(s2.lastIndexOf('/')+1, s2.lastIndexOf('.')); 原文链接:http://blog.163.com/li_crane/blo

[编程题]删除数组最后一个元素

删除数组 arr 最后一个元素.不要直接修改数组 arr,结果返回新的数组 输入例子: truncate([1, 2, 3, 4]) 输出例子: [1, 2, 3] //利用slice function truncate(arr) { return arr.slice(0,-1); } //利用filter function truncate(arr) { return arr.filter(function(v,i,ar) { return i!==arr.length-1; }); } //