を参照してくださいコード:wordCountにkeyが存在しない場合、unordered_map <string, int>に++ wordCount [key]を使用する必要がありますか?以下
unordered_map<string, int> wordCount;
for(string word: words)
++wordCount[word];
質問:
は単語がWORDCOUNTに存在しない場合++wordCount[word];
を使用して、それを右ここにいますか?私はいつもこのように使っている人を見ましたが、私は本当にそれについて確信していません。
説明hereは言った:kはコンテナ内の任意の要素のキーと一致しない場合
は、 関数は、そのキーを使用して新しい要素を挿入し、そのマッピングされた値を参照 を返します。要素にマップされた値が割り当てられていない場合でも、コンテナ のサイズは1つずつ増加します( 要素はデフォルトコンストラクタを使用して構成されています)。
と私はそれがint is uninitialized in defaultであることを知っています。だから、このように地図の価値を直接増やすのは安全ではないと思いますよね?デフォルトのアロケータを使用する場合
私はデフォルト構成のintは0だと思います。 'int()' – dreamlax