版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
删除vector中的指定元素的时候,我们一般使用迭代器遍历删除响应的元素;
在vector中删除元素使用erase()函数,务必需要注意的一点是,vector在删除之后,已经发生变化,后续的有关操作必须考虑到删除操作带来的影响。
要删除元素,你应该这样做:
zl::material_InventoryVec& MainWnd::removeLockBox(zl::material_InventoryVec& vec)
{
int count = vec.size();
for(int i = 0; i < count; ++i)
{
int32_t status;
zl::CCabinetManager::Instance()->GetLockerStatus(vec[0].box_no,status);
if((status>>5) & 0x01 == 0x01)
{
vec.erase(vec.begin());
}
}
return vec;
}