我目前正在学习 STL 中的 map 。我想知道如何从 map 中获取特定的键值对。例如,下图中的第三个键值对。 'C'-> 1
'A'-> 1
'B'-> 1
'C'-> 1
'D'-> 1
'E'-> 2
最佳答案
是的,我们可以访问 map 的“第三个键值对”,但这不是很直接。我们需要在 map 的开头获取一个迭代器,然后将其推进两次(请注意,在更通用的代码中,您应该在执行此类操作之前检查 map 的大小是否合适)
std::map<char, int> my_map;
my_map['C'] = 3;
my_map['A'] = 1;
my_map['B'] = 2;
auto begin = my_map.begin();
std::advance(begin, 2);
std::cout << begin->first << " : " << begin->second << std::endl;
输出:
C : 3
Live Demo
请注意,第三个元素实际上是我们插入的第一个键值对。这是因为键是按排序顺序插入的。
关于c++ - 有没有办法从 map 中获取特定的键值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56344129/