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;
}