我有一张地图来计算文件中单词的出现次数。 我正在阅读文件中的文字,每次我读一个单词时我都想这样做:
map[word]++; //(where map is the name of my map, I'm not using map as a name of course)
这样如果我的地图已经将'word'作为一个键,它会递增它,否则它会创建新的键并递增它。
这就是我所担心的问题:如果我在一个新键上映射[word] ++(在第一个单词读取中不可避免),我的程序会崩溃,因为我的地图中的int是单元化的吗? 如果是这样,告诉我的地图的最有效方法是什么:如果单词已经存在,那么在值上执行++,否则,创建值为1的新键? 在这里使用带有'map.find'的if语句似乎不必要地多余,你怎么看?
由于
答案 0 :(得分:55)
我的程序会崩溃,因为我的地图中的int是单元化的吗?
没有;如果键word
的元素不存在,则将创建元素并初始化值。值初始化int
的值为0
。