Контейнеры (самомоднейшее 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”;
При необходимости для оптимизации производительности следует рассмотреть возможность использования:
тип массива, внедрение является важной, e.g., как член класса.
unordered_map, et al.: меньшую нагрузку на элемент (основной) и константа времени поиска (дополнительный номер, так как O (log N) НЕДОПУСТИМОЕ использование СИМВОЛОВ O(K)).Труднее использовать правильно и эффективно, из-за превращаются + острые углы.
Упорядоченный вектор.(См.: алгоритмы.)
Не используйте массивы C.(Для старых API используют f (vec.data(), vec.size()); .)