【发布时间】:2010-10-05 05:04:20
【问题描述】:
我有一个这样的std::map:
map<wstring,int> Scores;
它存储玩家的姓名和分数。当有人得分时,我会这样做:
Scores[wstrPlayerName]++;
当映射中没有键为wstrPlayerName 的元素时,它将创建一个,但它是在增量之前初始化为零还是为空,还是未定义?
我是否应该在每次递增之前测试元素是否存在?
我只是想知道,因为我认为原始类型的东西在创建时总是未定义的。
如果我这样写:
int i;
i++;
编译器警告我 i 未定义,当我运行程序时它通常不为零。
【问题讨论】:
标签: c++ dictionary stl initialization primitive-types