查找特定项目最后一次出现位置的最佳方法是什么?

时间:2015-05-16 18:25:09

标签: c++ c++11 c++14

这样的事情反过来了:

int pos = find(v.begin(), v.end(), item) - v.begin();

2 个答案:

答案 0 :(得分:2)

您可以使用std::find但使用容器提供的反向迭代器:

auto it = std::find(v.rbegin(), v.rend(), item);
int index = v.rend() - it + 1;

您需要+1,因为v.rend()"积分"到元素-1,即一个"过去"第一个元素。

答案 1 :(得分:1)

使用reverse iterators

find(v.rbegin(), v.rend(), item);