incrément de map<string, int> ++ à l'aide de l'opérateur

J'ai une carte pour compter les occurrences de mots dans un fichier.
Je suis de la lecture de mots à partir du fichier, et chaque fois que je lis un mot je veux faire ceci:

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

de sorte que si la carte a déjà de " mot " comme une clé, il incrémente, sinon, il crée une nouvelle clé, puis l'incrémente.

Voici où j'en suis, si je fais de la carte[mot]++ sur une nouvelle clé (ce qui est inévitable dans le premier mot lu), mon programme crash en raison de l'int de ma carte est non?
Si oui, quel est le moyen le plus efficace de raconter ma carte: si le mot est déjà là, n' ++ sur la valeur, sinon, créez la nouvelle clé avec la valeur = 1?
À l'aide d'une instruction si avec la carte.trouvez ici semble inutilement redondantes, qu'en pensez-vous?

Grâce

InformationsquelleAutor Edoz | 2011-04-11