Является ли цикл for с ранжированием полезным для производительности?

Читая различные вопросы здесь, в Stack Переполнение об итераторах C++ и производительности **, я начал задаваться вопросом, будет ли for(auto& elem : container)"расширяться" компилятором до наилучшей возможной версии? (Наподобие auto, который компилятор сразу преобразует в правильный тип и поэтому никогда не бывает медленнее, а иногда и быстрее).

** Например, имеет ли значение, пишете ли вы

for(iterator it = container.begin(), eit = container.end(); it != eit; ++it)

или

for(iterator it = container.begin(); it != container.end(); ++it)

для неаннулирующих контейнеров?

35
задан Lightness Races with Monica 12 June 2014 в 10:56
поделиться