Cos’è la copia elision e come ottimizza l’idioma copy-and-swap?

Stavo leggendo Copy and Swap .

Ho provato a leggere alcuni collegamenti su Copy Elision ma non sono riuscito a capire correttamente cosa volesse dire. Qualcuno può spiegare cosa è questa ottimizzazione e in particolare cosa significa nel testo seguente

Questo non è solo una questione di convenienza, ma in realtà una ottimizzazione. Se il / i parametro / i si lega a un lvalue (un altro object non const), una copia dell’object viene creata automaticamente durante la creazione dei parametri. Tuttavia, quando si associa a un valore rvalue (object temporaneo, letterale), la copia viene in genere eliminata, consentendo di salvare una chiamata a un costruttore di copia e un distruttore. Nella versione precedente dell’operatore di assegnazione in cui il parametro è accettato come riferimento const, elisione copia non si verifica quando il riferimento si lega a un valore. Ciò si traduce in un object aggiuntivo creato e distrutto.