move-semantics

Move semantics ist eine Programmiersprachenfunktion, die es ermöglicht, einen Kopiervorgang durch einen effizienteren "move" zu ersetzen, wenn das Quellobjekt ein temporäres oder ein anderweitig ablaufendes Objekt ist.
3
Antworten

Scott Meyers über Rvalueness

Ich habe Scott Meyers extrem gesehen ein informatives Video über Universalreferenzen , in dem ich das meiste über Rvalue-Referenzen, Verschieben und Weiterleiten gelernt habe. An einer Stelle sprach er über rvalueness im Gegensatz zum Typ e...
20.12.2013, 15:33
1
Antwort

Mehrdeutigkeit beim Aufruf der Funktion. Implizite Konvertierung?

%Vor% Dieser Code verursacht eine Mehrdeutigkeit und ich weiß nicht warum, vielleicht habe ich explizite Konvertierung in rvalue Referenz gemacht. Meine Idee ist, dass der rvalue Verweis implizit in nur lvalue konvertiert werden kann....
08.01.2016, 21:40
1
Antwort

Warum ruft emplace_back den Destruktor auf?

Ich habe eine Klasse mit gelöschter Kopie ctor und einem Destruktor, der eine C-Ressource freigibt. Ich würde erwarten, dass emplace_back Objekte verschiebt und den Destruktor nur einmal aufruft, aber er wird in emplace_back aufgerufen, wie i...
08.02.2014, 13:05
1
Antwort

Wie wird das zugrunde liegende String-Objekt von std :: ostringstream verschoben?

%Vor% Wie wird das zugrunde liegende String-Objekt von std :: ostringstream verschoben?     
08.12.2016, 08:50
1
Antwort

Mehrdeutige Überladung für operator = mit move assign und pass by value kopieren assign

Wenn ich einen Kopierzuweisungsoperator definiere, der den Kopierkonstruktor mit dem Übergabewert für die Klasse thing : aufruft %Vor% und ein Bewegungszuweisungsoperator für dieselbe Klasse: %Vor% Wenn Sie versuchen, die Zugzuweisung...
26.06.2014, 16:14
2
Antworten

Warum wirft die lokale Variable den Konstruktor move?

Vor kurzem habe ich mit rvalues ​​"gespielt", um ihr Verhalten zu verstehen. Das meiste Ergebnis überraschte mich nicht, aber dann sah ich, dass, wenn ich eine lokale Variable werfe, der Move-Konstruktor aufgerufen wird. Bis dahin dachte ich,...
05.06.2013, 11:39
2
Antworten

Warum konnten wir nicht Iteratoren bewegen?

C ++ 11 führte einen "move" -Algorithmus ein, der sich wie der "copy" -Algorithmus verhält, außer dass er ... die Daten verschiebt, anstatt sie zu kopieren. Ich frage mich, warum das Commitee den Kopieralgorithmus nicht aktualisiert hat, um vorw...
22.02.2013, 16:56