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 Pasul 1: Declară variabilă int a = 10;
- 2 Pasul 2: Apelează prin valoare incrementValoare(a); // a rămâne 10
- 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.