Все заказываемые контейнеры (std::set
, std::map
, std::multiset
, std::multimap
), заказываются. Неупорядоченные контейнеры (std::list
, std::vector
, std::deque
) можно заказать, предоставив функцию сравнения a, используя std::sort
(вектор, deque) или предоставив компаратору метод (список) участника.
Все это сводится к тому, что вам действительно нужно. Если вам нужно постоянно сортировать элементы, сортированный контейнер может быть более эффективным, чем изменение контейнера и прибегание. С другой стороны, если сортировка контейнера во все времена не является требованием, но, имея возможность изменять элементы, вы можете предпочесть вектор. Сортированные контейнеры поддерживают ключи как постоянные объекты, так как модификация ключей разрушает инвариант сортировки.
В некоторых случаях контейнер необходимо сортировать в любое время, но он не изменяется после некоторых этапов инициализации.В этом случае не отсортированный контейнер, который сортируется после инициализации, может быть прекрасным.
'try' - зарезервированное ключевое слово в C++. Вы уверены, что эта 'struct' называется« try? »? –
Нет, я просто пытался привести пример. Я не использую try. Он называется dbdetails в моей программе. – sethu
О, ладно. Я редактировал вопрос, чтобы включить это имя, чтобы оно не вызывало ошибку компиляции. –