//esempio di funzioni con parametri passati da copie (by value) #include using namespace std; int addition (int x, int y); // possibile anche int addition (int, int); int main () { int z, x=3, y=5; cout << " x = " << x << ", y = " << y << endl; z= addition (x,y);// copie di x e y sono passate alla funzione addition 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 le copie delle variabili x=3 e y=5 della funzione main b=temp; //queste copie pero' sono nella memoria stack e scompaiono quando si torna nel main return (r); // viene fatta una copia di r. Questa copia e' assegnata come valore di z nel programma chiamante }