我在C++中使用map,假设map中有10个值,我只需要第一个值,我怎么得到它?谢谢。
map
xkrw2x1b1#
Map不会保持插入顺序。使用*(myMap.begin())获取第一对的值(排序时键最小的一对)。您还可以执行myMap.begin()->first来获取密钥,执行myMap.begin()->second来获取值。
*(myMap.begin())
myMap.begin()->first
myMap.begin()->second
efzxgjgh2#
简单如:
your_map.begin()->first // key your_map.begin()->second // value
mklgxw1f3#
begin()返回第一个对(确切地说,是第一个对的迭代器,您可以将键/值作为该迭代器的->first和->second来访问)
begin()
->first
->second
vbopmzt14#
您可以使用Map模板的开始()方法返回的迭代器:
std::map<K, V> myMap; std::pair<K, V> firstEntry = *myMap.begin()
但是请记住,std::map容器是以有序的方式存储其内容的,因此第一个条目并不总是第一个被添加的条目。
um6iljoc5#
*my_map.begin()。参见例如http://cplusplus.com/reference/stl/map/begin/。
*my_map.begin()
5条答案
按热度按时间xkrw2x1b1#
Map不会保持插入顺序。使用
*(myMap.begin())
获取第一对的值(排序时键最小的一对)。您还可以执行
myMap.begin()->first
来获取密钥,执行myMap.begin()->second
来获取值。efzxgjgh2#
简单如:
mklgxw1f3#
begin()
返回第一个对(确切地说,是第一个对的迭代器,您可以将键/值作为该迭代器的->first
和->second
来访问)vbopmzt14#
您可以使用Map模板的开始()方法返回的迭代器:
但是请记住,std::map容器是以有序的方式存储其内容的,因此第一个条目并不总是第一个被添加的条目。
um6iljoc5#
*my_map.begin()
。参见例如http://cplusplus.com/reference/stl/map/begin/。