¿El rango basado en bucle es beneficioso para el rendimiento?

Al leer varias preguntas aquí en Desbordamiento de pila sobre iteradores de C ++ y rendimiento **, comencé a preguntarme sifor(auto& elem : container) obtiene "expandido" por el compilador en la mejor versión posible? (Algo así comoauto, que el compilador infiere en el tipo correcto de inmediato y, por lo tanto, nunca es más lento y, a veces, más rápido).

** Por ejemplo, ¿importa si escribes?

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

o

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

¿Para contenedores no invalidantes?

Respuestas a la pregunta(5)

Su respuesta a la pregunta