让地图成为:map <string , int>
现在我想插入字符串,如果再次插入相同的字符串,将计数存储在整数部分。给我一个方法??
问问题
912 次
5 回答
2
您可以使用以下代码轻松完成此操作:my_map[key]++;
于 2013-02-15T15:00:22.793 回答
2
做这个:
++m.insert(std::make_pair("Hello", 0)).first->second;
或者更容易:
++m["hello"];
第一种方法允许您在存储insert
操作结果时判断字符串是否已经存在,例如auto p = m.insert(...); ++p.first->second;
,然后p.second
告诉您插入操作是否成功。
于 2013-02-15T14:59:43.693 回答
1
其实我相信只是m["key"]++
会做。
于 2013-02-15T15:00:35.860 回答
1
由于int{}
is 0
,您只需要:
++m[str];
于 2013-02-15T15:00:48.990 回答
1
使用 find() 方法检查键是否在映射中。
std::map<string, int> mapping;
std::string str;
//...
if(mapping.find(str) != mapping.end()) {
mapping[str]++;
} else {
mapping[str] = 1;
}
于 2013-02-15T15:01:17.303 回答