I have seen sample code similar to the following:
std::string s = \"Hello World!\";
std::map h;
for (std::string::const_iterator i=
Indeed that's how map
works: The []
-operator is mutating and will create the object of mapped type if it does not exist yet. Since size_t
value-initializes to zero, you're all fine.
Quoting MSDN:
POD and scalar types will always be zero initialized if instantiated with the default constructor syntax.
So, assuming that map creates new entries at missing keys using a default constructor then yes, size_t will be initialised to zero.