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の要素番号を取得する