多集下限迭代器的位置

Position of a multiset lower_bound iterator

本文关键字:位置 迭代器      更新时间:2023-10-16

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

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

它返回一个迭代器。我可以很容易地打印出它的价值。但有什么办法知道它的立场吗?我的意思是它将返回4。

使用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 );
}