std::map::at accesses the value associated with an existing key without inserting anything. Unlike operator[], it can be called on a const map; a missing key throws std::out_of_range. section 7.1.1 section 7.4
Querying a dictionary safely
Given a map named lookup, write `auto value = lookup.at("cheese");`. This reads the existing value while preserving the map. By contrast, `lookup["cheese"]` may insert an empty string when the key is absent. section 7.1.1
auto value = lookup.at("cheese");
Use the compact listing to compare the const-safe at call with the non-const operator[] alternative. section 7.1.1
