我想尝试使用键 k 和值 v 将元素插入到映射中。如果键已经存在,我想增加该键的值。
例子,
typedef std::unordered_map<std::string,int> MYMAP;
MYMAP mymap;
std::pair<MYMAP::iterator, bool> pa=
mymap.insert(MYMAP::value_type("a", 1));
if (!pa.second)
{
pa.first->second++;
}
这是行不通的。我该怎么做?
最佳答案
您不需要迭代器来实现这个目标。因为您的 v
是 V() + 1
,所以您可以简单地增加而无需知道键是否已经存在于映射中。
mymap["a"]++;
这在您给出的示例中会很好。
关于c++ - 如何修改unordered_map中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9900247/