Parametri & Argumente

Parametrii sunt variabilele din definiția funcției. Argumentele sunt valorile transmise la apel. Implicit, C++ pasează prin valoare (se copiază argumentul).

int aduna(int a, int b) {  // a, b = parametri
  return a + b;
}

int rez = aduna(3, 7);    // 3, 7 = argumente
cout << rez << endl;      // 10

Pasare prin valoare vs referință

void dubleazaVal(int x) { x *= 2; }  // copia lui x, originalul neschimbat
void dubleazaRef(int& x) { x *= 2; } // originalul modificat

int n = 5;
dubleazaVal(n); cout << n << endl;  // 5 (neschimbat)
dubleazaRef(n); cout << n << endl;  // 10 (modificat)