-1

让地图成为:map <string , int> 现在我想插入字符串,如果再次插入相同的字符串,将计数存储在整数部分。给我一个方法??

4

5 回答 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 回答