Скажем, у меня есть std::map<int, int>
, было бы безопасно это сделать?
std::map<int, int> m_map;
m_map[0] += 1;
Если ключ 0
не существовал на карте, когда я это делаю, как бы он знал, какое значение добавить 1
в?
Я надеюсь, что std:: map справится с этим, выполнив =
вместо +=
в том случае, когда значение создает новую запись на карте. Это избавило бы меня от необходимости:
std::map<int, int>::iterator it = m_map.find(0);
if(it != m_map.end()) {
it->second += 1;
}
else {
m_map[0] = 1;
}