gpt4 book ai didi

c++ - 从给定的 map 迭代器反向迭代

转载 作者:太空狗 更新时间:2023-10-29 19:50:30 26 4
gpt4 key购买 nike

我想使用 map::find(key) 在 map 中找到一个元素,然后从我找到该元素的点开始以相反的顺序迭代 map ,直到开始(即直到 map::rend())。

但是,当我尝试将迭代器分配给 reverse_iterator 时出现编译错误。我该如何解决这个问题?

最佳答案

通过构造函数将迭代器转换为反向迭代器应该可以正常工作,例如std::map<K, V>::reverse_iterator rit(mypos) .

使用 std::vector 的最小示例:

#include <vector>
#include <iostream>
#include <algorithm>

int main() {
typedef std::vector<int> intVec;
intVec vec;
for(int i = 0; i < 20; ++i) vec.push_back(i);

for(intVec::reverse_iterator it(std::find(vec.begin(), vec.end(), 10));
it != vec.rend(); it++)
std::cout << *it;
}

关于c++ - 从给定的 map 迭代器反向迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2310656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com