Tag: move-constructor
In C++11 move-Konstruktor ist eine spezielle member-Funktion ähnlich wie ein copy-Konstruktor, sondern nehmen eine rvalue-Referenz parameter.
3
Antworten
Ich habe eine base-Klasse, die im wesentlichen umschließt, die Sie hinzufügen einer Klasse zu einer beliebigen windows-handle (e.g, HWND, HFONT), und verwendet eine policy-Klasse zu attach/detach und zerstören: //class SmartHandle template<typename THANDLE, class TWRAPPER, class TPOLICY> class
2
Antworten
Ich erhalte eine seltsame Fehlermeldung von gcc und kann nicht herausfinden, warum. Ich habe die folgende Beispiel-code, um das problem klarer. Grundsätzlich ist es eine Klasse definiert, für die ich seine copy-Konstruktor und copy-Zuweisungsoperator private, um zu
6
Antworten
Dem MSDN-Artikel, Gewusst wie: Schreiben Sie einen Umzug Constuctor, hat die folgende Empfehlung. Wenn Sie beide einen move-Konstruktor und move-Zuweisungs-operator für die Klasse, die Sie beseitigen können, um redundanten code schreiben der move-Konstruktor-Aufruf der move-Zuweisungs-operator. Die folgende
4
Antworten
Ich habe die Möglichkeiten der Bewegen Konstruktoren in C++, und ich Frage mich, was sind einige Möglichkeiten der Einnahme von Vorteil, diese Funktion an einem Beispiel, wie unten. Betrachten Sie diesen code: template<unsigned int N> class Foo
2
Antworten
Angenommen, Sie möchten, um die Vorteile der move-Semantik, aber eine Ihrer beweglichen Klassen braucht, um Teil einer std::pair. Der Zweck wäre, zu erstellen, die eine Funktion zurückgibt, die ein std::pair behandelt werden kann wie eine rvalue und
5
Antworten
Vom design std::mutex ist nicht beweglich, noch kopieren-constructable. Dies bedeutet, dass eine Klasse A, die hat einen mutex, nicht erhalten ein Standard-move-Konstruktor. Wie würde ich diese Art A verschiebbar in eine thread-sichere Weise? Die Frage hat eine
4
Antworten
Ich Spiele mit move-Konstruktoren und move-Zuordnungen und ich habe stolperte über dieses problem. Erster code: #include <iostream> #include <utility> class Foo { public: Foo() {} Foo(Foo&& other) { value = std::move(other.value); other.value = 1; //since it's int!
2
Antworten
Ich kann nicht scheinen, um g++ zum kompilieren von c++11 code, der verwendet ein move-Konstruktor. Ich bekomme immer diese Fehlermeldung: collin@Serenity:~/Projects/arraylib$ g++ ./t2.cpp ./t2.cpp:10:27: error: expected ‘,’ or ‘...’ before ‘&&’ token ./t2.cpp:10:38: error: invalid constructor; you
2
Antworten
Ich bin verwirrt darüber, Wann ein move-Konstruktor wird aufgerufen, gegen einen copy-Konstruktor. Ich habe gelesen, die folgenden Quellen: Move-Konstruktor ist nicht zu bekommen, nennt man in C++0x Move-Semantik und rvalue-Referenzen in C++11 msdn Alle diese Quellen sind
2
Antworten
Ich will, um mein Gedächtnis aufzufrischen über die Bedingungen, unter denen ein compiler in der Regel automatisch generiert eine default-Konstruktor, copy-Konstruktor und Zuweisungsoperator. Ich erinnere mich, es gab einige Regeln, aber ich erinnere mich nicht, und auch