Fantastico, ora ho capito! Ti ringrazio per la pazienzagrazie per il sito che mi hai dato, anche se con la tua spiegazione sei stato chiarissimo, comunque lo metto in preferiti e domani mi guardo bene tutta la faq
Per conferma ho provato a fare così:
nel primo caso restituisce una referenza, e infatti i due indirizzi stampati (all'interno della funzione e nel main) sono gli stessi, mentre nel secondo caso sono diversi. Spero di aver fatto giusto e che non dipenda da qualche mio errore.codice:int& funzione1() { int* pt1 = new int; *pt1 = 93; cout << pt1 << endl; return *pt1; } int* funzione2() { int* pt1 = new int; *pt1 = 93; cout << pt1 << endl; return pt1; } int main() { int &var1 = funzione1(); cout << &var1 << endl; int* var2 = funzione2(); cout << &var2 << endl; return 0; }
se ho capito bene il fatto che la reference restituita sia un'lvalue significa che la posso usare in questo modo? funzione1() = 93;
Ti ringrazio ancora per le risposte!

grazie per il sito che mi hai dato, anche se con la tua spiegazione sei stato chiarissimo, comunque lo metto in preferiti e domani mi guardo bene tutta la faq 
Rispondi quotando