Siehe Code unten:sollte ich ++ wordCount [Schlüssel] für unordered_map <string, int> verwenden, wenn Schlüssel in WordCount nicht existiert?
unordered_map<string, int> wordCount;
for(string word: words)
++wordCount[word];
Frage:
Gibt es hier für ++wordCount[word];
verwenden, wenn Wort in WORDCOUNT nicht existiert? Ich habe immer jemanden gesehen, der so benutzt hat, aber ich bin mir nicht wirklich sicher.
Erklärung here sagte:
Wenn k nicht den Schlüssel eines Elements in dem Behälter passen, die Funktion mit diesem Schlüssel ein neues Element eingefügt und liefert eine Referenz auf seinen abgebildet Wert. Beachten Sie, dass dadurch der Container immer um eins vergrößert wird, auch wenn dem Element kein zugewiesener Wert zugewiesen ist (das Element wird mit seinem Standardkonstruktor erstellt).
und ich weiß, dass int is uninitialized in default. Also, ich denke, es ist nicht sicher, den Kartenwert direkt so zu erhöhen, ist das richtig?
Ich denke, ein Standard-konstruierter int ist 0 ... z. 'int()' – dreamlax