Prečo vrátiť const referenciu c++?

Obsah:

Prečo vrátiť const referenciu c++?
Prečo vrátiť const referenciu c++?

Video: Prečo vrátiť const referenciu c++?

Video: Prečo vrátiť const referenciu c++?
Video: C++ const_cast ¡Peligro! (const, constexpr, this, discards qualifiers) 2024, Septembra
Anonim

Chcete vrátiť konštantnú referenciu keď vrátite vlastnosť objektu, ktorú nechcete upravovať mimo neho. Napríklad: keď má váš objekt názov, môžete vytvoriť nasledujúcu metódu const std::string& get_name{ return name; };.

Kedy by ste mali použiť konštantný referenčný parameter?

Pri odovzdávaní argumentu odkazom vždy použite odkaz const, pokiaľ nepotrebujete zmeniť hodnotu argumentu. Nekonštantné referencie sa nemôžu viazať na r-hodnoty. Funkciu s nekonštantným referenčným parametrom nemožno volať s literálmi alebo provizóriami.

Kedy by ste sa mali vrátiť podľa referencie?

Odovzdanie odkazom znamená odovzdanie odkazu na objekt, ktorý už existuje. Ak teda chcete vrátiť referenciu vo funkcii, znamená to, že musíte tento objekt vytvoriť vo funkcii Viete, že funkcia môže vytvoriť nový objekt dvoma spôsobmi: hromada alebo hromada.

Čo robí const reference?

ak používate const odkaz, odovzdáte ho odkazom a pôvodné údaje sa neskopírujú. v oboch prípadoch nie je možné upraviť pôvodné údaje zvnútra funkcie.

Čo to znamená, ak sa vráti referencia?

To znamená vraciate sa podľa referencie, čo je, aspoň v tomto prípade, pravdepodobne neželané. V podstate to znamená, že vrátená hodnota je alias toho, čo ste vrátili z funkcie. Pokiaľ to nie je trvalý objekt, je to nezákonné.