多集low_bound迭代器

时间:2015-12-12 07:55:18

标签: c++ stl iterator multiset

假设我有一个多集A = {0,1,1,1,2}。如果执行以下操作:

multiset<int>::iterator it = A.lower_bound(2)

它返回一个迭代器。我可以轻松打印它的价值。但有没有办法知道它的立场?我的意思是它会返回4。

1 个答案:

答案 0 :(得分:1)

使用std::distance

#include <iterator>
#include <set>

int main() 
{
    multiset<int> A = { 0, 1, 1, 1, 2 };
    multiset<int>::iterator it = A.lower_bound( 2 );
    size_t dist = distance( A.begin(), it );
}