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