Для std::map
могу ли я всегда доверять begin()
, чтобы вернуть элемент с наименьшим ключом в соответствии с операторами сравнения для типа при повторении?Порядок заказа std :: map
Другими словами ...
Будет std::map<Key, SomeClass>::iterator smallestKeyIt = someMap.begin();
дать мне пару в карте с наименьшим ключом?
Является ли это заказом, гарантированным для std::map
, или я могу его каким-то образом настроить? Я понимаю, что структура подстилающего дерева сохраняется при выполнении операций, таких как добавление и удаление элементов.
'begin' возвращает итератор, ссылаясь на наименьший ключ. Самый маленький ключ определяется оператором сравнения карты, который по умолчанию равен '<', но может быть переопределен. Карта остается упорядоченной при вставке или удалении. – john