Os mapas STL inicializam tipos primitivos na inserção?
eu tenho umstd::map
como isso:
map<wstring,int> Scores;
Ele armazena nomes de jogadores e pontuações. Quando alguém obtém uma pontuação, eu simplesmente faria:
Scores[wstrPlayerName]++;
Quando não há elemento no mapa com a chavewstrPlayerName
ele criará um, mas será inicializado como zero ou nulo antes do incremento ou será deixado indefinido?
Devo testar se o elemento existe sempre antes do incremento?
Eu apenas me perguntei porque achava que coisas do tipo primitivo sempre são indefinidas quando criadas.
Se eu escrever algo como:
int i;
i++;
O compilador me avisa que eu estou indefinido e quando executo o programa geralmente não é zero.