Welche Rückgabe-Methode ist schneller bei Funktionen
-
Hi,
Wenn ich Werte oder Strukturen in einer Funktion zurückgeben möchte kann ich dies ja per return machen oder der Funktion gleich einen Zeiger auf die Zielstruktur/wert mit übergeben. Was ist schneller?
-
Je größer die Objekte, desto schneller wird call by reference (also über Zeiger), weil eine Kopie entfällt. Bei kleinen Objekten kann die Kopie schneller sein als eine Zeigerindirektion.
Außerdem braucht man manchmal einfach eine Kopie und manchmal braucht man einfach eine Referenzübergabe.
Außerdem kann der Compiler unter gewissen (oft gegebenen) Bedingungen die Kopie vollständig wegoptimieren.