Informatică Programare

Parametrii functiilor C++ prin valoare si referinta

Parametrii funcțiilor în C++ pot fi transmiși prin valoare, când se copiază valoarea argumentului, sau prin referință, când se lucrează direct cu variabila originală. Alegerea afectează performanța și capacitatea de a modifica argumentele.

Transmitere prin valoare

  • Mecanism Se creează o copie a valorii argumentului în parametrul funcției.
  • Exemplu void increment(int x) { x++; } // x este copie, variabila originală nu se schimbă
  • Avantaje Protejează datele originale, evita modificări accidentale.
  • Dezavantaje Ineficient pentru structuri mari din cauza copierii.

Transmitere prin referință

  • Mecanism Parametrul este un alias al variabilei originale, se lucrează direct cu ea.
  • Exemplu void increment(int &x) { x++; } // x este referință, variabila originală se modifică
  • Avantaje Eficient, evită copierea; permite modificarea argumentelor.
  • Dezavantaje Risc de modificări nedorite dacă nu se dorește.

Exemplu numeric

  1. 1
    Pasul 1: Declară variabilă int a = 10;
  2. 2
    Pasul 2: Apelează prin valoare incrementValoare(a); // a rămâne 10
  3. 3
    Pasul 3: Apelează prin referință incrementReferinta(a); // a devine 11

Folosește referințe pentru structuri mari sau când vrei să modifici argumentele, valoare pentru date simple și protecție.

Mai multe din Programare