Вы знаете, является ли это какая-либо разница в производительности, когда я получаю доступ к a std::map
использование элемента find
или operator []
?
Каждый возвращается iterator
и другой a const ref
к объекту.
Какой мог бы быть более быстрым becuase всего из позади сцены STL?
Когда вы используете [] для ключа, который не существует, будет вставлен элемент по умолчанию. Этот элемент по умолчанию зависит от определения вашей карты (например, для int это будет ноль).
Когда вы используете find, нет "автоматической" вставки, поэтому она может быть намного быстрее, если вы часто будете искать ключи, которые не существуют.
find ()
- это O (n). оператор []
равен O (1). Следовательно, последнее (обычно) быстрее.