beispielsweise: Beta_ab&& Beta::toAB() const { return move(Beta_ab(1,
beispielsweise: Beta_ab&& Beta::toAB() const { return move(Beta_ab(1,
Ich habe eine Klasse mit einem unique_ptr-Mitglied. class Foo { private: std::unique_ptr<Bar> bar; ... }; Die Leiste ist eine Klasse von Drittanbietern mit einer Funktion create () und einer Funktion destroy (). Wenn ich a std::unique_ptrdamit in einer eigenständigen Funktion verwenden...
Was sind die Unterschiede zwischen -std=c++11und -std=gnu++11als Kompilierungsparameter für gcc und clang? Gleiche Frage mit c99und gnu99? Ich kenne C ++ - und C-Standards, es sind die Unterschiede in den Parametern, die mich interessieren. Ich habe irgendwo gelesen, dass es mit einigen...
Ich bin verwirrt mit der Beschreibung thread_localin C ++ 11. Nach meinem Verständnis verfügt jeder Thread über eine eindeutige Kopie lokaler Variablen in einer Funktion. Auf die globalen / statischen Variablen kann von allen Threads zugegriffen werden (möglicherweise synchronisierter Zugriff über...
Relevante Fragen : Über C ++ 11: C ++ 11: std :: thread gepoolt? Wird Async (launch :: async) in C ++ 11 Thread-Pools überflüssig machen, um teure Thread-Erstellung zu vermeiden? Über Boost: C ++ Boost-Thread, der Threads wiederverwendet boost :: thread und erstelle einen Pool von...
Hat std::make_uniqueirgendwelche Effizienzvorteile wie std::make_shared? Im Vergleich zum manuellen Erstellen std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new
Ich habe Code gefunden, der std :: shared_ptr verwendet, um beim Herunterfahren eine beliebige Bereinigung durchzuführen. Zuerst dachte ich, dieser Code könnte unmöglich funktionieren, aber dann habe ich Folgendes versucht: #include <memory> #include <iostream> #include <vector>...
Die C ++ 11- std::move(x)Funktion bewegt überhaupt nichts. Es ist nur eine Besetzung auf r-Wert. Warum wurde das gemacht? Ist das nicht
Ich bin auf folgenden Code gestoßen: template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) { return a+b; } Eines kann ich nicht verstehen: Wo kann ich herausfinden, was der Pfeiloperator ( ->) in der Funktionsüberschrift bedeutet? Ich denke rein logisch, dass...
Ich weiß, was Funktoren sind und wann stdich sie mit Algorithmen verwenden soll, aber ich habe nicht verstanden, was Stroustrup in den C ++ 11-FAQ über sie sagt . Kann jemand erklären, was std::bindund std::functionwann sie verwendet werden sollten, und einige Beispiele für Neulinge...
Ich war überrascht, dass dies nicht in meinen Suchergebnissen angezeigt wurde. Ich dachte, jemand hätte dies zuvor gefragt, da die Verschiebungssemantik in C ++ 11 nützlich ist: Wann muss ich (oder ist es eine gute Idee für mich) eine Klasse in C ++ 11 unbeweglich machen? ( Andere Gründe als...
auto foo = "You're using g++!"; auto compiler_detector = [foo](auto foo) { std::puts(foo); }; compiler_detector("You're using clang++!"); clang ++ 3.6.0 und neuerer Ausdruck "Sie verwenden clang ++!" und warnen Sie davor, dass die Aufnahme foo nicht verwendet wird. g ++ 4.9.0 und neuerer...
Im Zuweisungsoperator einer Klasse müssen Sie normalerweise überprüfen, ob das zugewiesene Objekt das aufrufende Objekt ist, damit Sie nichts vermasseln: Class& Class::operator=(const Class& rhs) { if (this != &rhs) { // do the assignment } return *this; } Benötigen Sie dasselbe für den...
Ich habe immer gedacht, Zufallszahlen würden zwischen null und eins liegen, ohne1 , dh es handelt sich um Zahlen aus dem halboffenen Intervall [0,1]. Die Dokumentation auf cppreference.com von std::generate_canonicalbestätigt dies. Wenn ich jedoch das folgende Programm ausführe: #include...
Wenn ich anzeige [=], dass alle lokalen Variablen nach Wert in einem Lambda erfasst werden sollen, werden dann alle lokalen Variablen in der Funktion kopiert oder nur alle lokalen Variablen , die vom Lambda verwendet werden ? Also zum Beispiel, wenn ich habe: vector<int>
Ich bin kürzlich auf eine seltsame Deoptimierung gestoßen (oder habe eher eine Optimierungsmöglichkeit verpasst). Betrachten Sie diese Funktion zum effizienten Entpacken von Arrays aus 3-Bit-Ganzzahlen in 8-Bit-Ganzzahlen. In jeder Schleifeniteration werden 16 Zoll entpackt: void...
Geschlossen . Diese Frage basiert auf Meinungen . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie durch Bearbeiten dieses Beitrags mit Fakten und Zitaten beantwortet werden kann . Geschlossen vor 2 Jahren . Verbessere diese...
Ich habe an einem C ++ - Code gearbeitet, den ein Freund geschrieben hat, und erhalte den folgenden Fehler, den ich beim Kompilieren mit gcc4.6 noch nie gesehen habe: error: use of deleted function ‘GameFSM_<std::array<C, 2ul> >::hdealt::hdealt()’ is implicitly deleted because the...
Ich habe verwendet, std::tieohne viel darüber nachzudenken. Es funktioniert, also habe ich das einfach akzeptiert: auto test() { int a, b; std::tie(a, b) = std::make_tuple(2, 3); // a is now 2, b is now 3 return a + b; // 5 } Aber wie funktioniert diese schwarze Magie ? Wie entsteht eine...
Es hängt lose mit dieser Frage zusammen: Sind std :: thread in C ++ 11 zusammengefasst? . Obwohl die Frage unterschiedlich ist, ist die Absicht dieselbe: Frage 1: Ist es immer noch sinnvoll, eigene Thread-Pools (oder Bibliotheken von Drittanbietern) zu verwenden, um eine teure Thread-Erstellung zu...