Salve, volevo sapere sostanzialmente la differenza che c'è tra i seguenti codici:
codice:#include <iostream> using namespace std; void scambia (int &, int & ); int main() { int a = 5, b = 7; cout << a << " " << b << endl; scambia (a, b); cout << a << " " << b << endl; return 0; } void scambia (int &a, int &b) { int c = a; a = b; b = c; }svolgono lo stesso compito e se non erro entrambi operano sugli indirizzi delle variabili, ma di preciso qual'è la differenza?codice:#include <iostream> using namespace std; void scambia (int *, int *); int main() { int a = 5, b = 7; cout << a << " " << b << endl; scambia (&a, &b); cout << a << " " << b << endl; return 0; } void scambia (int *a, int *b) { int c = *a; *a = *b; *b = c; }
Grazie in anticipo per le risposte

Rispondi quotando
Il codice eseguibile generato probabilmente sarà identico, dato che i reference risultano essere dei puntatori nascosti.
