多集下限迭代器的位置
Position of a multiset lower_bound iterator
假设,我有一个多集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 );
}
相关文章:
- 使用迭代器时如何访问对象在向量中的位置?
- 为什么在擦除位置之前的矢量的 c++ 迭代器在 Visual Studio 中也失效
- 为什么后缀失败并且前缀在传递迭代器作为参数并在尾部位置递归时工作正常
- 如何使用regex_token_iterator<std::string::iterator>通过迭代器本身获取子匹配的原始字符串的位置?
- 我们可以安全地依靠迭代器的v.end()位置
- 获取迭代器错误的位置
- 我可以读取向量<string>::迭代器的数字位置吗?
- 获取迭代器在基类型 "intrusive doubly linked list" 的指针字典中的位置
- 迭代器的偏移位置为 std::list
- 从mpl-fold表达式中检索迭代器位置
- 在 65536 位置访问迭代器的指针运算符会导致段错误
- 找到一个位置并返回一个迭代器不起作用
- 如何从 stl 向量中最小元素的迭代器位置获取 int/size_t 值
- 如何在迭代器位置之后插入元素
- 获取 GDB 中字符串中的迭代器位置
- 使用迭代器位置的线性和二叉搜索
- 正在获取QMap::迭代器的位置(int)
- C++:列表迭代器指向错误的位置
- 多集下限迭代器的位置
- C++映射从迭代器位置开始搜索