Our coding guidelines say prefer const_iterator, because they are little faster compared to normal iterator. It seems like compiler optimizes the code when you use the const _iterator.
Is it really correct ? If yes, what really happens internally to make const_iterator takes the edge?.
EDIT: I wrote small test to check const_iterator vs iterator and found a varying results:
for iterating 10,000 objects const_terator was taking few milliseconds(around 16 ms) less. But not always. There were iterations in which both were equal.