在C++中从地图获取第一个值

问题描述:

我在C++中使用了map。假设我在map中有10个值,我只需要第一个值。我如何得到它?在C++中从地图获取第一个值

谢谢。

的地图不会保留插入顺序。使用*(myMap.begin())获取第一对(订购时具有最小密钥的那一对)的值。

您也可以通过myMap.begin()->first获取密钥,并使用myMap.begin()->second获取该值。

+0

它会返回一个指针吗? – adir 2011-01-28 08:57:59

+1

`myMap.begin()`返回一个迭代器。您可能需要检查http://*.com/questions/388242/the-definitive-c-book-guide-and-list – MSalters 2011-01-28 09:00:14

begin()返回第一对,(精确地说,一个迭代的第一对,并且可以访问键/值作为->first和迭代器的->second

*my_map.begin()。见例如http://cplusplus.com/reference/stl/map/begin/

简单:

your_map.begin()->first // key 
your_map.begin()->second // value 

您可以使用由地图模板的开始()方法返回的迭代器:

std::map<K,V> myMap; 
std::pair<K,V> firstEntry = *myMap.begin() 

但请记住,性病::地图容器以有序的方式存储其内容。因此,第一个条目并不总是添加的第一个条目。