Suchergebnisse für Anfrage "rvalue-reference"

6 die antwort

Wie ist es möglich, einen Verweis auf einen Wert zu erhalten?

Ich habe benutztstd::move undstd::forward in C ++. Meine Frage ist: Wie werden diese Funktionen tatsächlich von der Standardbibliothek implementiert? Wenn ein lWert eine Adresse ist, die Sie abrufen können, und ein rWert ausschließlich kein ...

2 die antwort

Mehrdeutiger Aufruf mit überladener r-Wert-Referenzfunktion

Ich habe eine Klasse mit den folgenden Deklarationen: class IcoSphere { [...] private: int _addVertex(const glm::vec3 &p); int addVertex(glm::vec3 p); int addVertex(const glm::vec3 &&p); [...] }; Dann rufe ich 'addVertex' wie folgt ...

2 die antwort

Von * diesem in einer rWert-Methode entfernen?

n C ++ 11 können Methoden überladen werden, wenn der Ausdruck, der das Objekt angibt, für das die Methode aufgerufen wird, ein Wert oder ein Wert ist. Wenn ich @ zurückschic*this von einer über einen R-Wert aufgerufenen Methode, muss ich ...

TOP-Veröffentlichungen

6 die antwort

Warum sind rvalues-Referenzvariablen nicht rvalue?

Nehmen wir an, ich habe zwei Überladungen einer Funktionf. f(T&&) undf(T&). Dann im Körper vong: g(T&& t) { f(t);} die Überlastungf(T&) wird aufgerufen, weil t als lWert betrachtet wird. Das ist sehr überraschend für mich. Wie eine Funktion mit ...

6 die antwort

Kann ich eine rWert-Referenz für temporäre Werte verwenden? Ist es undefiniertes Verhalten oder nicht?

Aktualisierung der FrageWarum haben diese beiden Referenzwerte ein unterschiedliches Verhalten? [https://stackoverflow.com/questions/35315472/why-this-two-rvalue-references-examples-have-different-behavior] : Quellcode int a = 0; auto && b = ...

2 die antwort

invalid initialization of non-const reference from a rvalue

So habe ich folgende Funktion: void scan(std::istream& is, Handler& h);Ich möchte es auf verschiedene Arten aufrufen, wie: scan(std::cin, Handler()); scan(std::ifstream("myfile"), myhandler); Der Compiler beschwert sich ...

12 die antwort

Vorteile der Verwendung von forward

ei perfekter Weiterleitustd::forward wird verwendet, um die benannten rvalue-Referenzen zu konvertierent1 undt2 zu unbenannten rWertreferenzen. Was ist der Zweck, das zu tun? Wie würde sich das auf die aufgerufene Funktion @ auswirkeinner wenn ...

8 die antwort

Vermeiden Sie das exponentielle Anwachsen von const-Referenzen und r-Wert-Referenzen im Konstruktor

Ich programmiere einige Klassen mit Vorlagen für eine maschinelle Lernbibliothek und stehe diesem Problem häufig gegenüber. Ich verwende hauptsächlich das Richtlinienmuster, bei dem Klassen als Vorlagenargument Richtlinien für verschiedene ...

2 die antwort

Kann jemand rWertreferenzen in Bezug auf Ausnahmen erklären?

Sagen wir, ich habe diese Ausnahmeklasse: struct MyException : public std::exception { MyException(const std::exception &exc) : std::exception(exc) { cout << "lval\n"; } MyException(std::exception &&exc) : ...

4 die antwort

Kann lvalue nicht an rvalue reference binden

Ich habe dieses C ++ - Testcode-Snippet, #include <vector> class A { std::vector<int> x; public: A(std::vector<int>&& _x) : x(_x) {} }; class B { A a; public: B(std::vector<int>&& _x) : a(/*move(*/_x/*)*/) {} }; Ich gehe vorbei_x nach B als ...