Возможный дубликат:
Почему класс, используемый как значение в STL-карте, нуждается в конструкторе по умолчанию в...?
Когда я использую карту, значения обязательно инициализируются значениями по умолчанию или я не должен полагаться на это?
Например, скажем, у меня есть следующий код:
map<string, int> myMap;
cout << myMap["Hey"];
Это приведет к выводу "0" с моим компилятором. Это гарантированное поведение? Возможно ли, что это не всегда инициализировалось бы 0?