¿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?