[C++] std::vectorの値に一致した要素数を取得する

バージョン

C++:14

概要

std::vectorに格納されている値が指定した値と合致した場合、最初に合致した要素数を返す処理。

コード

#include <vector>

void main()
{
  std::vector<int> v = {5, 12, 3, 99, 8};
  // 99に合致した最初のイテレータを取得
  auto it = std::find(v.begin(), v.end(), 99);
  if (it != v.end()) {
    // 合致した値が存在している
    int idx = std::distance(v.begin(), it);   // 3を取得<=v[3]:99
    int val = *it;  // この場合は99を取得
  }
}