Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
By default, use vector as the default sequential container in C++. This is the equivalent of List<T> in other languages.
vector<widget> v;
v.push_back( “Geddy Lee” );
Use map (not unordered_map) as the default associative container. Use set, multimap, multiset for degenerate & multi cases.
map<string, string> phone_book;
phone_book[“Alex Lifeson”] = “+1 (416) 555-1212”;
When performance optimization is needed, consider using:
the array type when embedding is important, e.g., as a class member.
unordered_map, et al.: Lower per-element overhead (major) and constant-time lookup (minor because O(log N) INVALID USE OF SYMBOLS O(K)). Harder to use correctly and efficiently, because of inconveniences + sharp edges.
Sorted vector. (See: Algorithms.)
Don’t use C arrays. (For older APIs, use f( vec.data(), vec.size() ); .)