std::distance

イテレータはわかるんだけど添字がほしいなってとき。

#include <iostream>
#include <vector>
#include <algorithm>

vector<int> v;
vector<int>::iterator it;

// VALUEと同じかそれ以上の値のイテレータを求める
it = lower_bound(v.begin(),v.end(), VALUE);
// その値の添字を求める
int pos = distance(v.begin(), it);

あとから気づいたけど、イテレータがわかっているのだからそれだけでよかった。

参考
std::distance - cplusplus.com
vectorの指定したiteratorの要素番号を取得する