当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;
}