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
Vous devez vous connecter pour publier un commentaire.
Non; si l'élément avec la clé
word
n'existe pas, l'élément sera créée et la valeur d'initialisation. Une valeur initialiséeint
a une valeur de0
.