Получение первого значения из карты в С++
Я использую map
в С++. Предположим, что у меня есть 10 значений в map
, и я хочу только первый. Как это получить?
Спасибо.
Ответы
Ответ 1
Карта не будет содержать порядок вставки. Используйте *(myMap.begin())
для получения значения первой пары (той, которая имеет наименьший ключ при заказе).
Вы также можете сделать myMap.begin()->first
, чтобы получить ключ и myMap.begin()->second
, чтобы получить значение.
Ответ 2
Проще, чем:
your_map.begin()->first // key
your_map.begin()->second // value
Ответ 3
begin()
возвращает первую пару (точно, итератор к первой паре, и вы можете получить доступ к ключу/значению как ->first
и ->second
этого итератора)
Ответ 4
Вы можете использовать итератор, возвращаемый методом begin() шаблона карты:
std::map<K,V> myMap;
std::pair<K,V> firstEntry = *myMap.begin()
Но помните, что контейнер std:: map сохраняет свое содержимое упорядоченным способом. Таким образом, первая запись не всегда является первой добавленной записью.
Ответ 5
*my_map.begin()
. См. http://cplusplus.com/reference/stl/map/begin/.