在C++中从map获取第一个值

adi*_*dir 57 c++ map

map在C++中使用.假设我有10个值map,我只想要第一个.我怎么得到它?

谢谢.

Ben*_*oit 87

地图不会保留广告订单.使用*(myMap.begin())来获取第一对(具有最小键排序时)的值.

您也myMap.begin()->first可以获取密钥并myMap.begin()->second获取值.

  • 不,它返回值.`myMap.begin()`是一个迭代器,它有`*`和` - >`运算符重载,表现得像指针一样,`++`和`--`运算符重载,迭代地图中的元素.您应该阅读有关STL的介绍.也许有人有一个很好的链接给你? (9认同)
  • @adir:最后一段解释了它. (2认同)

jwe*_*ich 8

很简单:

your_map.begin()->first // key
your_map.begin()->second // value
Run Code Online (Sandbox Code Playgroud)


Nim*_*Nim 5

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


Mar*_*ler 5

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

std::map<K,V> myMap;
std::pair<K,V> firstEntry = *myMap.begin()
Run Code Online (Sandbox Code Playgroud)

但请记住, std::map 容器以有序的方式存储其内容。所以第一个条目并不总是第一个被添加的条目。