簡體   English   中英

使用++運算符增加map <string,int>

[英]increment map<string, int> using ++ operator

我有一個地圖來計算文件中單詞的出現次數。 我正在閱讀文件中的文字,每次我讀一個單詞時我都想這樣做:

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

因此,如果我的地圖已經將'word'作為一個鍵,它會增加它,否則它會創建新的鍵並遞增它。

這就是我所擔心的問題:如果我在一個新鍵上映射[word] ++(在第一個單詞讀取中是不可避免的),我的程序會崩潰,因為我的地圖中的int是單元化的嗎? 如果是這樣,告訴我的地圖的最有效方法是什么:如果單詞已經存在,那么在值上執行++,否則,創建值為1的新鍵? 在這里使用帶有'map.find'的if語句似乎不必要多余,您怎么看?

謝謝

我的程序會崩潰,因為我的地圖中的int是單元化的嗎?

沒有; 如果與鍵的元素word不存在,該元素將被創建和初始化值。 值初始化的int的值為0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM