ah quindi in questo caso la variabile locale 'pippo' rimane in memoria e si risparmia del tempo perchè la variabile 'v' non prende una "copia" di pippo ma punta direttamente al suo indirizzo di memoria..

generalmente però le variabili locali vengono deallocate alla fine della funzione no? in questo caso l'unica che non viene deallocata è quella che viene messa come return?

Magari sto facendo confusione, ma vorrei capire al meglio la cosa!