我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/...