让地图成为:map <string , int>
现在我想插入字符串,如果再次插入相同的字符串,则将计数存储在整数部分中。
给我一个方法??
答案 0 :(得分:2)
这样做:
++m.insert(std::make_pair("Hello", 0)).first->second;
或者更容易:
++m["hello"];
第一种方法允许您在存储insert
操作的结果时判断该字符串是否已存在,例如auto p = m.insert(...); ++p.first->second;
- 然后p.second
告诉您插入操作是否成功。
答案 1 :(得分:1)
您可以使用以下代码轻松完成此操作:my_map[key]++;
答案 2 :(得分:1)
实际上我相信只会m["key"]++
会这样做。
答案 3 :(得分:1)
由于int{}
为0
,您只需要:
++m[str];
答案 4 :(得分:1)
使用find()方法检查密钥是否在映射中。
std::map<string, int> mapping;
std::string str;
//...
if(mapping.find(str) != mapping.end()) {
mapping[str]++;
} else {
mapping[str] = 1;
}