Originariamente inviato da simo22
Il problema è che quando assegni un nuovo valore al tuo oggetto viene riallocato, modificandone il contenuto solo durante l'esecuzione della funzione stessa. Con questo metodo gli oggetti rimangono nello stesso indirizzo di memoria e tutto funziona correttamente.

Non viene allocato nessun oggetto (ci mancherebbe!), nè viene modificato.