const auto&
Sería suficiente si quiero realizar operaciones de solo lectura. Sin embargo, me he encontrado
for (auto&& e : v) // v is non-const
un par de veces recientemente. Esto me hace preguntarme:
¿Es posible que en algunos casos poco conocidos exista algún beneficio de rendimiento al usar referencias de reenvío, en comparación con auto&
oconst auto&
?
( shared_ptr
es sospechoso de casos oscuros de esquina)
Actualización Dos ejemplos que encontré en mis favoritos:
¿Alguna desventaja de usar la referencia constante al iterar sobre tipos básicos?
¿Puedo iterar fácilmente sobre los valores de un mapa usando un bucle for basado en rango?
Concéntrese en la pregunta: ¿por qué querría usar auto && en bucles for basados en rango?
auto&&
en bucles for basados en rangos?