我有一个std::map
这样的:
map<wstring,int> Scores;
它存储玩家的姓名和分数。当有人得分时,我会简单地做:
Scores[wstrPlayerName]++;
当地图中没有带有键的元素时,wstrPlayerName
它将创建一个,但它是在增量之前初始化为零还是为空,还是未定义?
我应该在每次递增之前测试元素是否存在吗?
我只是想知道,因为我认为原始类型的东西在创建时总是未定义的。
如果我写类似:
int i;
i++;
编译器警告我 i 未定义,当我运行程序时它通常不为零。