Wenn ich einen Kopierzuweisungsoperator definiere, der den Kopierkonstruktor mit dem Übergabewert für die Klasse thing
:
und ein Bewegungszuweisungsoperator für dieselbe Klasse:
%Vor%Wenn Sie versuchen, die Zugzuweisung aufzurufen, wird ein Fehler von gcc:
angezeigt %Vor%Wenn jedoch die Kopierzuweisung verwendet wird, wird "Verweis" verwendet:
%Vor%Die Kompilierung ist in Ordnung, und beide Operatoren können aufgerufen werden. Warum ist das?
Schließen Sie den C ++ 11-Testcode ab:
%Vor%Tags und Links c++ move-semantics g++