const & und Kopien
-
Hi,
ich bin grad am C++ lernen und frage mich, wann nimmt man für Rückgabewerte eine const reference (&) und wann eine Kopie?
Gebe ich einen Vector mit Werten zurück, auf dem ich nur lese, dann const &, sonst eine Kopie?
Was ist const correctness?Bitte um Hilfe

-
Hallo
wann nimmt man für Rückgabewerte eine const reference (&) und wann eine Kopie?
Wenn du einen Member einer Klasse als Readonly zurückgeben willst, dann nimm am besten Konstante Referenz. Allerdings darfst du keine lokalen Variablen als Referenzen zurückgeben.
Gebe ich einen Vector mit Werten zurück, auf dem ich nur lese, dann const &, sonst eine Kopie?
Wenn der vector nicht lokal ist, eine konstante Referenz. Ansonsten Kopie (oder besser noch als Parameter).
Was ist const correctness?
Siehe zum Beispiel hier.
bis bald
akari
-
C++ Anfaenger schrieb:
ich bin grad am C++ lernen und frage mich, wann nimmt man für Rückgabewerte eine const reference (&)
wenn es möglich ist. tyoischerweise attribute.
und wann eine Kopie?
wenn keine referenz auf const geht. typischerweise operator+ und funktionen, die const& als parameter haben, wovon man einen durchschickt.