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