Buongiorno,
premesso che ho abbastanza chiaro cosa significa passaggio un parametro per valore o riferimento ma non compreso bene il caso 1 di seguito descritto:
caso1:
int i=1, j=3;
scambia (i,j);
void scambia (int& ra, int& rb)
{
int t=ra;
ra=rb;
rb=t;
}
caso 2:
int i=1, j=3;
scambia (&i,&j);
void scambia (int* pa, int* pb)
{
int t=*pa;
*ra=*rb;
*rb=t;
}
Nel caso 2 anteponiamo ai parametri attuali il simbolo & per esplicitare che passiamo alla funzione l'indirizzo di memoria delle variabili i e j, corretto?
Nel caso 1 invece passiamo alla funzione il solo riferimento (si dice così giusto?!) cioè il nome delle variabili i e j ma i parametri formali sono di tipo int &, che significa?!