【发布时间】:2016-12-25 11:30:18
【问题描述】:
假设我有std::vector<std::pair<int,Direction>>。
我正在尝试使用 erase-remove_if 习惯用法从向量中删除对。
stopPoints.erase(std::remove_if(stopPoints.begin(),
stopPoints.end(),
[&](const stopPointPair stopPoint)-> bool { return stopPoint.first == 4; }));
我想删除所有 .first 值设置为 4 的对。
在我的示例中,我有对:
- 4, Up
- 4, Down
- 2, Up
- 6, Up
但是,在我执行erase-remove_if 之后,我剩下:
- 2, Up
- 6, Up
- 6, Up
我在这里做错了什么?
【问题讨论】: