作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我遇到了一个使用 STL 映射的竞争问题的解决方案,其中包含一种我已经知道的不同类型的插入。我知道这些类型的插入(以及它们的区别):
Map[key] = value;
和 Map.insert(make_pair(key,val));
但是这个我不知道它在做什么,只是它适用于我需要解决的问题:
std::map<int, int> freq;
int inp;
// ...
for (int i = 0; i < n; i++)
{
scanf ("%d", &inp);
freq [inp]++;
}
for (int i = 0; i < m; i++)
{
scanf ("%d", &inp);
freq [inp]--;
}
其中 freq 是一个带有一对整数的映射,inp 是一个普通整数。
最佳答案
当您使用查找运算符 []
并且键不在映射中时,将使用该类型的值初始化值创建一个条目。在这种情况下,初始化值 int
被零初始化,初始值为 0。++
或 --
然后对该值进行操作.
关于c++ - STL map : What does this command mean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22826532/
我是一名优秀的程序员,十分优秀!