将QList迭代器转换为索引
Convert QList iterator to index
我使用qLowerBound来查找QList
中的项,但是这个函数返回一个迭代器,而我需要一个索引(我将它传递给另一个需要索引的函数)。有没有办法从QList
迭代器获得索引?
由于指针算术是在迭代器上定义的,因此可以从迭代器中减去列表开头的迭代器以获得索引:
int idx = iter-yourList.begin();
看到QList-iterator-reference
正如@Frank Osterfeld的评论所指出的,你可以使用这个:
const auto index = std::distance(yourList.begin(), currentIteratorOnYourList);
从Fluent{c++}博客查看这篇文章
相关文章:
- 将转换字符键入 int 以用作向量C++的索引
- 为什么在 c++ 中索引字符串会发出隐式转换警告?
- 如何索引转换后的用户数据值?
- C++将向量迭代器转换为索引
- 快速 N 维索引转换
- 提升多索引 将索引转换为标记并在索引上循环
- 使用 ITK 将物理点转换为索引
- 将RGB颜色图像转换为OpenCV C 中的索引颜色图像类型
- 将一维数组的索引转换为二维数组
- 使用带有新 API 的编号索引的转换无效
- 阵列索引(转换为整数)用范围枚举
- 将 Python 转换为 C++ - lambda 中的索引
- Deque索引迭代器转换
- array:将一维数组的索引转换为多维数组的向量索引
- 将迭代器转换为标量索引
- 将一维"flattened"索引转换为 N 维数组的 N 维向量索引
- 将索引转换为迭代器
- 为静态强制转换的索引数组生成数组
- 类转换为索引和指针,并引用容器
- 将Glyph索引转换为Unicode字符