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 🙂


Anmelden zum Antworten