删除vector中的指定元素

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/jacken123456/article/details/102694736

删除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;
}

猜你喜欢

转载自blog.csdn.net/jacken123456/article/details/102694736