Stim ca la transmiterea prin valoare a argumentelor unei
functii, prelucrarea nu se face asupra variabilelor-argument, ci asupra unor
copii. Copiile sunt variabile interne blocului functiei, de aceea durata lor de
viata este limitata la blocul functiei. Reguli:
1) nu folosim transmisia prin valoare in cazul unor
variabile de mari dimensiuni, pentru ca dimensiunea trebuie replicata pentru
copiile folosite in corpul functiei;
2) nu folosim transferul prin valoare cand vrem ca
variabilele transmise ca argument sa fie modificate.
Pentru cazurile mentionate anterior putem folosi transferul
prin referinta (alias al variabilei-argument, permis doar in C++) sau
transferul prin adresa (cu pointeri, permis in C/C++).
Transferul prin adresa
este, de fapt, tot un transfer prin valoare.