C++ vector删除指定元素

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


猜你喜欢

转载自blog.csdn.net/liu1152239/article/details/73249433