std::map / std::unordered_map

Applies to: cpp

C++'s associative containers: std::unordered_map is a hash map (O(1) average lookup, unordered); std::map is a sorted tree (O(log n), keeps keys in order). Both store key-value pairs.

std::unordered_map<std::string,int> count;
count["cafe"]++;           // insert-or-increment
count.at("cafe");          // 1

See also: hash-map, std-vector