我map
在C ++中使用。假设我有10个值,map
而我只想要第一个。我如何得到它?
谢谢。
Answers:
地图将不会保持插入顺序。采用*(myMap.begin())
得到第一对值(一个具有最小键排序时)。
您也可以这样做myMap.begin()->first
以获取密钥并myMap.begin()->second
获取价值。
myMap.begin()
是一个迭代器,它的*
and->
运算符重载为指针,而++
and--
运算符重载以迭代映射中的元素。您应该阅读有关STL的介绍。也许有人对您有很好的链接?
您可以使用由地图模板的begin()方法返回的迭代器:
std::map<K,V> myMap;
std::pair<K,V> firstEntry = *myMap.begin()
但是请记住std :: map容器以有序方式存储其内容。因此,第一个条目并不总是已添加的第一个条目。
*my_map.begin()
。参见例如http://cplusplus.com/reference/stl/map/begin/。
myMap.begin()
返回一个迭代器。您可能要检查stackoverflow.com/questions/388242/...