De ce returnați referința constantă c++?

Cuprins:

De ce returnați referința constantă c++?
De ce returnați referința constantă c++?

Video: De ce returnați referința constantă c++?

Video: De ce returnați referința constantă c++?
Video: Should I pass by const reference or by value? 2024, Noiembrie
Anonim

Doriți să returnați o referință constantă când returnați o proprietate a unui obiect, care nu doriți să fie modificată în afara acestuia. De exemplu: când obiectul tău are un nume, poți face următoarea metodă const std::string& get_name{ return name; };.

Când ar trebui să utilizați un parametru de referință constant?

Când treceți un argument prin referință, folosiți întotdeauna o referință constantă, cu excepția cazului în care trebuie să modificați valoarea argumentului. Referințele non-const nu se pot lega de valorile r. O funcție cu un parametru de referință non-const nu poate fi apelată cu literale sau temporare.

Când ar trebui să reveniți prin referință?

Trecerea prin referință înseamnă transmiterea unei referințe la un obiect care există deja. Astfel, dacă doriți să returnați o referință într-o funcție, înseamnă că trebuie să creați acel obiect în funcția Știți că o funcție poate crea un nou obiect în două moduri: Pe stivă sau grămada.

Ce face referința constantă?

dacă utilizați referință constantă, o treceți prin referință și datele originale nu sunt copiate. în ambele cazuri, datele originale nu pot fi modificate din interiorul funcției.

Ce înseamnă dacă este returnată o referință?

Înseamnă reveniți prin referință, ceea ce, cel puțin în acest caz, probabil nu este dorit. În principiu, înseamnă că valoarea returnată este un alias pentru orice ați returnat din funcție. Dacă nu este un obiect persistent, este ilegal.