使用++运算符</string,>增加map <string,int =“”>

时间:2011-04-11 03:11:21

标签: c++ map operators

我有一张地图来计算文件中单词的出现次数。 我正在阅读文件中的文字,每次我读一个单词时我都想这样做:

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语句似乎不必要地多余,你怎么看?

由于

1 个答案:

答案 0 :(得分:55)

  

我的程序会崩溃,因为我的地图中的int是单元化的吗?

没有;如果键word的元素不存在,则将创建元素并初始化值。值初始化int的值为0