Einsetzen das Verschiebe semantik in c++ 11



  • Hi Zusammen,

    ich bin gerade dabei alten Projeckte (VS 2008) ins VS 2015 zu migrieren.
    Was mir in diesem projeckte aufgefallen ist das Nutzen von Copy Constructor.
    Das copy Constructor wird in jede Klasse ohne Ausnahme und ich rede hier von über 30 Klassen pro Projekt.

    Loht es sich eigentlich die "Verschiebe Semantik" in alten Projekte zu integrieren?

    Meine Sorge ist: Wie zuferlässig ist diese neue Technik?

    Danke



  • Es gibt die Rule-Of-Zero in C++, da kannst mal nach googeln. Und wenn du der folgst, brauchst du keine Copy-Constructors mehr selbst schreiben, dann reicht der Compiler generierte. Und auch werden automatisch triviale Move Konstruktoren geneirert, die einen Memberwise Move vollziehen.



  • Skym0sh0 schrieb:

    Und auch werden automatisch triviale Move Konstruktoren geneirert, die einen Memberwise Move vollziehen.

    Aber Achtung zB. bei Visual Studio 2013, da hab ich mir notiert:

    creates no default move
    creates default copy even if move defined



  • Ups, @Saheb schrieb ja VS2015.
    Sollte dann klappen, einfach ausprobieren.


Log in to reply