Подтвердить что ты не робот

Получение первого значения из карты в С++

Я использую map в С++. Предположим, что у меня есть 10 значений в map, и я хочу только первый. Как это получить?

Спасибо.

4b9b3361

Ответ 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 сохраняет свое содержимое упорядоченным способом. Таким образом, первая запись не всегда является первой добавленной записью.