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