Наши рекомендации по кодированию предпочитают const_iterator
, потому что они немного быстрее по сравнению с обычным iterator
. Кажется, что компилятор оптимизирует код, когда вы используете const_iterator
.
Это действительно правильно? Если да, что действительно происходит внутри, что делает const_iterator
быстрее?.
EDIT: я написал небольшой тест, чтобы проверить const_iterator
vs iterator
и нашел разные результаты:
Для итерации 10 000 объектов const_terator
было меньше нескольких миллисекунд (около 16 мс). Но не всегда. Были итерации, в которых оба были равны.