Поделиться через


Контейнеры (самомоднейшее C++)

По умолчанию используется вектор как последовательные контейнера по умолчанию в C++.Это эквивалентно список <T> в других языках.

vector<widget> v;
v.push_back( “Geddy Lee” );

Используйте карты (не unordered_map) в качестве ассоциативного контейнера по умолчанию.Использовать мультинабор multimap, набор, вырожденный & Поддержка разных случаях.

map<string, string> phone_book;
phone_book[“Alex Lifeson”] = “+1 (416) 555-1212”;

При необходимости для оптимизации производительности следует рассмотреть возможность использования:

  1. тип массива, внедрение является важной, e.g., как член класса.

  2. unordered_map, et al.: меньшую нагрузку на элемент (основной) и константа времени поиска (дополнительный номер, так как O (log N) НЕДОПУСТИМОЕ использование СИМВОЛОВ O(K)).Труднее использовать правильно и эффективно, из-за превращаются + острые углы.

  3. Упорядоченный вектор.(См.: алгоритмы.)

Не используйте массивы C.(Для старых API используют f (vec.data(), vec.size()); .)

См. также

Другие ресурсы

Добро пожаловать в C++ (современные C++)

Справочник по языку C++

Справочник по стандартной библиотеки C++