如何从地图结束开始

时间:2013-12-12 17:35:02

标签: c++ visual-studio-2010 visual-c++

我希望能够在std::map结尾处开始,以便首先检查列表末尾的项目,例如......

std::map<int> MapBasicExample;

MapBasicExample.insert(1);
MapBasicExample.insert(2);
MapBasicExample.insert(3);
MapBasicExample.insert(4);
MapBasicExample.insert(5);

当我使用MapBasicExample.begin()时,它首先检查的是值“5”,我想首先从循环中的1 - 5开始,而不是像使用{{1}时那样从5 - 1开始,怎么办呢?

1 个答案:

答案 0 :(得分:3)

您可以按照与此相反的顺序迭代地图:

for (auto it = MapBasicExample.rbegin(); it != MapBasicExample.rend(); it++) {
    std::cout << it->first << " = " << it->second << std::endl;
}

请记住,地图有键和值。您的示例看起来像一个集合。但是,以相反的顺序迭代它们的逻辑是相似的。