Variante a:¿Las comparaciones entre iterator y const_iterator son ineficaces?
const auto end = whatever.end();
for (auto it = whatever.begin(); it != end; ++it)
{
// ...
}
Variante B:
const auto end = whatever.cend(); // note the call to cend insteand of end here
for (auto it = whatever.begin(); it != end; ++it)
{
// ...
}
¿Hay alguna razón para creer que la variante b será menos eficiente que la variante a, ya que la condición del bucle compara dos tipos diferentes de iteradores? ¿Esto causa una conversión implícita en it
?
(end
se utiliza varias veces dentro del bucle, de ahí mi deseo de izar a cabo.)
¿Para qué contenedor? –
@David En mi caso específico, es un 'std :: string', pero tengo curiosidad en general. – fredoverflow