Use m[key] to read a value, but beware: if the key doesn't exist, this creates an entry with a default value. For integers, that default is 0. This can create unexpected entries. Use m.at(key) for safe access that throws an exception if the key doesn't exist.
This prevents silent creation of entries when you only want to read existing data. Check existence first with m.find(key) or m.count(key) before accessing. This avoids accidental insertions when you just want to read.
The find method returns an iterator for further use.