In einem previous question, es schien, dass eine einfache Rückgabewert-Funktion kopiert immer return
Argument in die Variable zugewiesen wird.Kopieren Konstruktor vs. Rückgabewert Optimierung
Wird dies vom Standard gefordert oder kann die Funktion optimiert werden, indem die Variable 'assigned to' sogar innerhalb des Funktionskörpers aufgebaut wird?
struct C { int i; double d; };
C f(int i, int d) {
return C(i,d); // construct _and_ copy-construct?
}
int main() {
C c = f(1, 2);
}
Könnten Sie bitte die Abschnittsnummer aus dem Standard angeben? –
Das gleiche, das Neil gepostet hat: 12.15. Interpretieren Sie es anders? –