Salve, volevo sapere come si fa a differenziare (in C/C++) il passaggio di parametri ad una funzione per valore e per riferimento.

In Pascal io facevo così:
Per riferimento
codice:
procedure nome_procedura(var x: integer);
begin
     ...
     ...
end;
Per valore
codice:
procedure nome_procedura(x: integer);
begin
     ...
     ...
end;
Ovviamente nel primo caso rende definitive le modifiche alla variabile anche globalmente, nel secondo caso invece, una volta usciti dalla funzione, la variabile torna al valore che aveva prima del passaggio.

Come si fa questo in C++?