//esempio di funzioni con parametri passati con riferimenti (by reference) #include using namespace std; int addition (int& x, int & y); // possibile anche int addition (int&, int&); Sto dicendo al compilatore che sto passando gli argomenti per riferimento int main () { int z, x=3, y=5; int & xx = x;// xx e' un alias per x (sono nomi diversi della stessa cosa) int & yy = y; cout << " x = " << x << " y = " << y << endl; cout << " xx = " << xx << " yy = " << yy << endl; z= addition (x,y);// il prototipo avverte il compilatore che sta passando i parametri della funzione per riferimento cout << " x = " << x << ", y = " << y << " and the sum is " << z << endl; return 0; } int addition (int& a, int& b) { int r; r = a + b; // voglio vedere cosa succede se scambio in questo scope a con b int temp =a; a =b; // sto scambiando gli alias delle variabili x=3 e y=5 della funzione main b=temp; // cioe' sto scambiando proprio i valori delle due variabili return (r); }