Betrachten Sie den folgenden Code:
%Vor%Dies ist die Verwendung:
%Vor%Beim Debuggen passiert Folgendes (mit VS2013):
Bei der return
Anweisung des Konvertierungsoperators
container
durch Verschieben von container
wird zerstört Nach der Rückkehr der Funktion:
tmp
wird vom Kopierkonstruktor Meine Frage ist, warum nicht tmp
von move constructor erstellt wurde?
Wie ich verstehe, ist der Rückgabewert der Funktion rvalue und sollte verschoben werden.
VS2013 generiert den Verschiebungskonstruktor / die Zuordnung nicht automatisch. Dies wird in späteren Versionen gelöst.
Tags und Links c++ c++11 visual-c++ visual-studio-2013