Suchergebnisse für Anfrage "rvalue-reference"
Rückgabewert oder rWertreferenz?
n Scott Meyers neuem Buch schlägt er eine Beispielverwendung für rvalue-Referenzqualifikatoren vor, die ungefähr so aussieh class Widget { private: DataType values; public: DataType& data() & { return values; } DataType data() && { return ...
Warum gibt diese Funktion bei rvalue-Argumenten eine lvalue-Referenz zurück?
Die folgende Definition einesmin function template <typename T, typename U> constexpr auto min(T&& t, U&& u) -> decltype(t < u ? t : u) { return t < u ? t : u; }hat ein Problem: Es scheint, dass es vollkommen legal ist, @ zu schreib min(10, 20) ...
Bindet const && an alle prvalues (und xvalues)?
Der C ++ - Standard definiert die folgenden Funktionen gelöscht; template <class T> void ref(const T&&) = delete; template <class T> void cref(const T&&) = delete;Dies soll helfen, sicherzustellen, dass die Funktionen nicht missbraucht werden, ...
C ++ 11-Template-Funktion mit rvalue-Parameteraufruf
In einer Klasse O habe ich die Funktion als Vorlage verwendettest2: struct A{int value;}; struct O{ A value; template<typename Args> static void test2(Args &&args){ std::cout << std::endl << "!!!" ...
Das Verlängern der temporären Lebensdauer durch rvalue data-member funktioniert mit aggregate, aber nicht mit constructor. Warum?
Ich habe das folgende Schema gefunden, um eine temporäre Lebensdauer zu verlängern, ich weiß nicht, ob es sollte, aber es funktioniert. struct S { std::vector<int>&& vec; }; int main() { S s1{std::vector<int>(5)}; // construct with temporary ...
Warum müssen wir rvalue reference im move-Konstruktor auf null setzen?
//code from https://skillsmatter.com/skillscasts/2188-move-semanticsperfect-forwarding-and-rvalue-references class Widget { public: Widget(Widget&& rhs) : pds(rhs.pds) // take source’s value { rhs.pds = nullptr; // why?? } private: struct ...
Wandeln C ++ 11-Compiler lokale Variablen in Werte um, wenn dies während der Codeoptimierung möglich ist?
Manchmal ist es sinnvoll, komplizierte oder lange Ausdrücke beispielsweise in mehrere Schritte aufzuteilen (die 2. Version ist nicht klarer, aber es ist nur ein Beispiel): return object1(object2(object3(x)));kann geschrieben werden als: object3 ...
Ist das Pass-by-Value-and-Then-Move-Konstrukt eine schlechte Redewendung?
Da wir in C ++ eine Verschiebungssemantik haben, ist dies heutzutage üblich void set_a(A a) { _a = std::move(a); }Die Argumentation ist, dass wenna Ist dies ein Wert, wird die Kopie entfernt und es wird nur ein Zug ausgeführt. Aber was passiert ...
Lvalue to rvalue Referenzbindung
Der Compiler beschwert sich immer wieder Ich versuche, einen Wert an eine R-Wert-Referenz zu binden, aber ich kann nicht sehen, wie. Ich bin neu in C ++ 11, ...