Код: Выделить всё
std::mapдля контейнера требуется следующее:
Код: Выделить всё
b.begin()
Возвращает: итератор, ссылающийся на первый элемент в контейнере.
Сложность: константа.
- [container.requirements] Begin()
Мне это кажется непрактичным.
std::map обычно реализуется как самобалансирующееся двоичное дерево поиска, и вам обычно требуется логарифмическая сложность, чтобы найти самый левый узел, где должна начаться итерация.
Как бы вы реализовали Begin() с постоянным временем? Соответствуют ли этому стандартные реализации библиотек?
Подробнее здесь: https://stackoverflow.com/questions/778 ... for-stdmap
Мобильная версия