Функция-член insert()
возвращает пару, содержащую итератор и логическое значение; итератор указывает либо на вставленную пару, либо на пару, которая уже существует, а логическое значение сообщает вам, что это за (если true, новый элемент карты был вставлен; если false, возвращенный итератор указывает на что-то уже присутствующее, и значение было не изменено).
Используя это, вы можете поместить элемент туда, если его не было, или найти его, если он был там, используя одну операцию ha sh во всех случаях:
auto result = M.insert({ K, V });
if (!result.second) {
// Element was already present; increment the value at the key K.
++(result.first->second);
}