Я бы не согласился с Нилом.
Я бы использовал insert
для числа 2. Использование find
затем insert
вызывает 2 просмотра, в то время как использование insert
вызывает один поиск без переопределения, если элемент уже присутствует. Обычно insert
возвращает итератор для соответствующей пары ключ / значение (даже если она не обновлена) + логическое значение, которое указывает, была ли вставка выполнена.
std::pair<iterator, bool> result = map.insert(std::make_pair(key(), value());
result.first->second; // accesses the value at key: `key()`