Suchergebnisse für Anfrage "rvalue-reference"

4 die antwort

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 ...

1 die antwort

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) ...

2 die antwort

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, ...

TOP-Veröffentlichungen

2 die antwort

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 << "!!!" ...

1 die antwort

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 ...

3 die antwort

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 ...

4 die antwort

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 ...

7 die antwort

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 ...

1 die antwort

c ++ 11 emplace_back und push_back syntax mit struct

1 die antwort

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, ...