C++ vector删除指定元素

来源:互联网 发布:南风知我意2百度云 编辑:程序博客网 时间:2024/05/18 03:29

当vector容器里装的对象不是普通数据类型,而是自定义数据类型时,此时删除指定对象的方法见如下代码示例:


struct roi{int width;int height;};int main(){    vector<roi> iVec;roi r1;for( int i= 1; i< 10; i++){r1.width = i;r1.height = 10 * i;iVec.push_back(r1);}    vector<roi>::iterator it;    for(it=iVec.begin();it!=iVec.end();)    {if((*it).width % 3 ==0) //相当于指针            it=iVec.erase(it);    //删除元素,返回值指向已删除元素的下一个位置            else            ++it;    //指向下一个位置    }    return 0;}