¿Cuál es la ventaja de usar referencias universales en bucles basados ​​en rango?

const auto& bastaría si quisiera realizar operaciones de solo lectura. Sin embargo, me he topado con

for (auto&& e : v)  // v is non-const

Un par de veces recientemente. Esto me hace preguntarme:

¿Es posible que en algunos casos oscuros de esquina haya algún beneficio de rendimiento en el uso de referencias universales, en comparación conauto& oconst auto&?

(shared_ptr es un sospechoso de casos de esquina oscura)

Actualizar Dos ejemplos que encontré en mis favoritos:

¿Alguna desventaja de usar la referencia const cuando se itera sobre tipos básicos?
¿Puedo iterar fácilmente sobre los valores de un mapa usando un bucle para rango basado en rango?

Por favor concéntrate en la pregunta:¿Por qué querría usar auto && en bucles basados ​​en rango?

Respuestas a la pregunta(3)

Su respuesta a la pregunta