Search code examples
c++c++11stl

Difference between map[] and map.at in C++?


What is the difference in getting a value through aMap[key] and aMap.at(key) in C++?


Solution

  • In C++11 map::at exists (who knew?).

    It throws an exception if the key doesn't exist, find returns aMap.end() if the element doesn't exist, and operator[] value-initializes a new value for the corresponding key if no value exists there.