std::list Implementierung
-
314159265358979 schrieb:
krümelkacker schrieb:
wobei hinter dem auto ein && sitzt. Das ist aber eigentlich überflüssig.
Was zur Folge hat, dass der Returnwert gemoved wird.
Wie bitte? Was wird wohin "gemoved"?
-
Normalerweise wird der Returnwert kopiert, mit && gemoved. Jaja, ich weiß, copy elision, aber ich habs mir angewöhnt den Returnwert aus Funktionen mit && zu moven. Und langsamer kanns dadurch ja nicht werden

-
314159265358979 schrieb:
Normalerweise wird der Returnwert kopiert, mit && gemoved. Jaja, ich weiß, copy elision, aber ich habs mir angewöhnt den Returnwert aus Funktionen mit && zu moven. Und langsamer kanns dadurch ja nicht werden

Aber "gemoved" wird hier gar nichts. Du bindest lediglich eine Rvalue-Referenz an ein temporäres Objekt, dessen Lebenszeit dann verlängert wird.
-
krümelkacker schrieb:
314159265358979 schrieb:
Normalerweise wird der Returnwert kopiert, mit && gemoved. Jaja, ich weiß, copy elision, aber ich habs mir angewöhnt den Returnwert aus Funktionen mit && zu moven. Und langsamer kanns dadurch ja nicht werden

Aber "gemoved" wird hier gar nichts. Du bindest lediglich eine Rvalue-Referenz an ein temporäres Objekt, dessen Lebenszeit dann verlängert wird.
Da hast du Recht, habe das wohl verwechselt, jedenfalls war es so gemeint
