Das folgende Code-Snippet ruft den Kopierkonstruktor auf, wo ich den Aufruf des Move-Konstruktors erwartet habe:
%Vor%Auf VS11 Beta, im Debug-Modus, wird Folgendes gedruckt:
%Vor% Ich habe den Standard überprüft und Bar
scheint alle Anforderungen zu erfüllen, damit automatisch ein Standard-Move-Konstruktor generiert wird, aber das scheint nicht zu passieren, außer es gibt einen anderen Grund, warum das Objekt nicht verschoben werden kann. Ich habe hier viele Fragen zum Verschieben und Kopieren von Konstruktoren gesehen, aber ich glaube nicht, dass jemand dieses spezifische Problem hatte.
Irgendwelche Hinweise darauf, was hier vor sich geht? Ist das Standardverhalten?
Leider bietet VS11 keinen Standard-Move-Konstruktor. Siehe Move Semantics im Abschnitt "Bemerkungen" - um zu zitieren:
Im Gegensatz zum standardmäßigen Kopierkonstruktor stellt der Compiler kein a zur Verfügung Standardbewegungskonstruktor.
Tags und Links c++ c++11 visual-c++ copy-constructor move-constructor