У меня проблемы с доступом к ключу unordered_map. Вот мой код:
#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;
int main() {
vector<int> nums = {1,2,3,4,5};
int k = 2;
unordered_map<int,int> mp;
for(auto num : nums)
mp[num]++;
for(auto it : mp)
cout << it.first;
cout << endl;
for(auto it : mp)
cout << mp[it.first+k];
return 0;
}
Я ожидал, что результат будет
54321
00111
, потому что значение ключаиз «7», «6», «5», «4», «3» - это «0», «0», «1», «1», «1». Но результат был
54321
0000
Обратите внимание, что здесь только четыре "0". Я запутался и не знаю, что это за механизм. Кто-нибудь может мне помочь с этим? Заранее спасибо.