用remove_if来优雅的删除vector的元素

定义一个类:

class car {
public:
    int speed;
};

定义一个容器:

vector<car> cars;

删除cars中,speed大于100的car

cars.erase( std::remove_if(std::begin(cars), std::end(cars), is_n), std::end(cars) );

其中is_n的定义:

bool is_n(car& i)
{
  return i.speed > 100;  
}

猜你喜欢

转载自blog.csdn.net/dong_beijing/article/details/80787847