增量映射<字符串,整数>使用 ++ 运算符

increment map<string, int> using ++ operator

本文关键字:gt 运算符 使用 整数 字符串 映射 lt      更新时间:2023-10-16

我有一个映射来计算单词在文件中的出现次数。我正在从文件中读取单词,每次读取一个单词时,我想这样做:

map[word]++; //(where map is the name of my map, I'm not using map as a name of course)

这样,如果my map已经有'word'作为键,它将对其进行加1,否则它将创建新键并对其进行加1。

这就是我所关心的:如果我在一个新键上映射[word]++(这在第一个单词读取时是不可避免的),我的程序会因为map中的int被初始化而崩溃吗?如果是这样,告诉我的map最有效的方法是什么:如果单词已经存在,对值执行++,否则,创建一个新的键value = 1?使用if语句与'map。我觉得这里似乎多余,你觉得呢?

谢谢

我的程序会因为map中的int被初始化而崩溃吗?

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