C++ 增加地图中的值

C++ 增加地图中的值,c++,map,C++,Map,我有一张键值对的地图。先验地,我不知道它的大小,也就是说,我将拥有多少把钥匙和哪些钥匙。现在,在一个看,关键点“出现”,我需要增加相应的关键点的值,每次它出现 例如: std::map myMap; std::值的向量;//123,456,123,789,123,456 对于(unsigned int i=0;i这是正确的;以前不存在的值将被初始化为零。这是正确的;以前不存在的值将被初始化为零。IMO,这很好,unsigned int将被默认构造(即零初始化),一条注释是:at()调用是多余的-

我有一张键值对的地图。先验地,我不知道它的大小,也就是说,我将拥有多少把钥匙和哪些钥匙。现在,在一个看,关键点“出现”,我需要增加相应的关键点的值,每次它出现

例如:

std::map myMap;
std::值的向量;//123,456,123,789,123,456

对于(unsigned int i=0;i这是正确的;以前不存在的值将被初始化为零。

这是正确的;以前不存在的值将被初始化为零。

IMO,这很好,
unsigned int
将被默认构造(即零初始化),一条注释是:
at()
调用是多余的-使用
运算符[]
(正如您已经受
size()
约束一样)。

IMO,没关系,
无符号int
将默认构造(即零初始化),一条注释是
at()
调用是多余的-使用
运算符[]
(正如您已经通过
size()
)进行了约束。

如其他人所述,可以使其不那么冗长。myMap[vectorOfValues[i]]++;已足够。如其他人所述,可以使其不那么冗长。myMap[vectorOfValues[i]++;已足够。
std::map<int, unsigned int> myMap;
std::vector<int> vectorOfValues; // 123,456,123,789,123,456
for(unsigned int i=0; i<vectorOfValues.size(); ++i) {
    myMap[vectorOfValues.at(i)] += 1;
}