increment map using ++ operator

У меня есть карта для подсчета появления слов в файле. Я читаю слова из файла, и каждый раз, когда я читаю слово, я хочу сделать следующее:

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

, чтобы, если на моей карте уже есть «слово» в качестве ключа, оно увеличивало его, иначе создается новый ключ и увеличивает его.

Вот что меня беспокоит: если я сопоставлю [word] ++ с новым ключом (что неизбежно в первом прочитанном слове), произойдет ли сбой моей программы, потому что int в моей карте унифицирован? Если да, то каков наиболее эффективный способ сообщить моей карте: если слово уже есть, сделать ++ для значения, в противном случае создать новый ключ со значением = 1? Использование оператора if с 'map.find' здесь кажется излишне избыточным, что вы думаете?

Спасибо

48
задан Edoz 10 April 2011 в 16:11
поделиться