"Spiegare la differenza tra passaggio dei parametri per valore, per riferimento con argomenti di tipo riferimento, e per riferimento con argomenti di tipo puntatore. "
//passaggio per valore
int foo1(int a)
{
a++;
return a;
}
//passaggio per riferimento con argomenti di tipo riferimento
int foo2(int & a)
{
a++;
return a;
}
//passaggio per riferimento con argomenti di tipo puntatore
int foo3(int * a)
{
(*a)++;
return *a;
}
int main()
{
int x = 3;
int y = foo1(x);
cout << x << " - " << y << endl; //x = 3, y = 4
y = foo2(x);
cout << x << " - " << y << endl; //x = 4, y = 4
y = foo3(&x);
cout << x << " - " << y << endl; //x = 5, y = 5
}
riesci a distinguere la differenza?