¿Qué es elision de copia y cómo optimiza el lenguaje de copia e intercambio?
estaba leyendoCopiar e intercambiar.
Intenté leer algunos enlaces en Copy Elision, pero no pude entender adecuadamente lo que significaba. ¿Alguien puede explicar qué es esta optimización y, especialmente, qué significa el siguiente texto?
Esto no es solo una cuestión de conveniencia sino, de hecho, una optimización. Si el (los) parámetro (s) se enlaza a un lvalue (otro objeto no constante), se crea automáticamente una copia del objeto al crear el (los) parámetro (s). Sin embargo, cuando s se enlaza con un rvalue (objeto temporal, literal), la copia suele ser eluida, lo que guarda una llamada a un constructor de copia y un destructor. En la versión anterior del operador de asignación, donde el parámetro se acepta como referencia constante, elección de copia no se produce cuando la referencia se enlaza con un valor de r. Esto se traduce en un objeto adicional que se crea y se destruye.