In the two associative container types (CppMap, CppUnorderedMap), [] accesses a value by its key. If the key does not exist, the
function throws an error.
In the two sequence container types (CppVector, CppDeque), [] accesses a value by its index. If the index is outside the container, this throws
an error.
at and [] both access elements. Unlike [], at checks the bounds of the container and throws an error, if the element does
not exist.