Als «c++11» getaggte Fragen

Verwenden Sie dieses Tag für Code, der als C ++ 11 kompiliert werden muss (ohne die in C ++ 14 oder höher eingeführten Funktionen zu verwenden).


6
Funktion, die einen Lambda-Ausdruck zurückgibt
Ich frage mich, ob es möglich ist, eine Funktion zu schreiben, die eine Lambda-Funktion in C ++ 11 zurückgibt. Ein Problem ist natürlich, wie eine solche Funktion deklariert wird. Jedes Lambda hat einen Typ, aber dieser Typ ist in C ++ nicht ausdrückbar. Ich denke nicht, dass das funktionieren würde: …
88 c++  function  c++11  lambda 

4
Sollte der Syntaxstil des nachfolgenden Rückgabetyps zum Standard für neue C ++ 11-Programme werden? [geschlossen]
Geschlossen . Diese Frage basiert auf Meinungen . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 3 Jahren . Verbessere diese Frage C ++ 11 unterstützt eine …

6
C ++ terminate wird ohne aktive Ausnahme aufgerufen
Ich erhalte einen C ++ - Fehler beim Threading: terminate called without an active exception Aborted Hier ist der Code: #include <queue> #include <thread> #include <mutex> #include <condition_variable> template<typename TYPE> class blocking_stream { public: blocking_stream(size_t max_buffer_size_) : max_buffer_size(max_buffer_size_) { } //PUSH data into the buffer blocking_stream &operator<<(TYPE &other) { std::unique_lock<std::mutex> …

3
Verfall des statischen Schlüsselworts… nicht mehr?
In C ++ ist es möglich, das staticSchlüsselwort innerhalb einer Übersetzungseinheit zu verwenden, um die Sichtbarkeit eines Symbols (entweder Variablen- oder Funktionsdeklaration) zu beeinflussen. In n3092 war dies veraltet: Anhang D.2 [depl.static] Die Verwendung des statischen Schlüsselworts ist veraltet, wenn Objekte im Namespace-Bereich deklariert werden (siehe 3.3.6). In n3225 wurde …
87 c++  static  c++11  standards 

5
Was sind die richtigen Linkoptionen, um std :: thread in GCC unter Linux zu verwenden?
Hallo, ich versuche std::threadmit G ++ zu verwenden. Hier ist mein Testcode #include <thread> #include <iostream> int main(int, char **){ std::thread tt([](){ std::cout<<"Thread!"<<std::endl; }); tt.join(); } Es wird kompiliert, aber wenn ich versuche, es auszuführen, ist das Ergebnis: terminate called after throwing an instance of 'std::system_error' what(): Operation not permitted …


3
Was ist const void?
Die Beschreibung von std::is_voidbesagt, dass: Gibt den Wert der Elementkonstante an, der gleich true ist, wenn T vom Typ void, const void, volatile void oder const volatile void ist. Was könnte dann sein const voidoder ein volatile void? Diese Antwort besagt, dass der const voidRückgabetyp ungültig wäre (kompiliert jedoch unter …
87 c++  c++11  c++14 


4
Wie speichere ich verschiedene Vorlagenargumente?
Ist es möglich, ein Parameterpaket für eine spätere Verwendung zu speichern? template <typename... T> class Action { private: std::function<void(T...)> f; T... args; // <--- something like this public: Action(std::function<void(T...)> f, T... args) : f(f), args(args) {} void act(){ f(args); // <--- such that this will be possible } } Dann …

3
Standard-, Wert- und Null-Initialisierungs-Chaos
Ich bin sehr verwirrt über Wert- & Standard- & Null-Initialisierung. und vor allem, wenn sie sich für die verschiedenen Standards C ++ 03 und C ++ 11 (und C ++ 14 ) einsetzen. Ich zitiere und versuche, eine wirklich gute Antwort Value- / Default- / Zero-Init C ++ 98 und …
87 c++  c++11  c++14  c++03  c++98 



5
Gemeinsame Zeiger als Argumente übergeben
Wenn ich ein Objekt deklariere, das in einen gemeinsamen Zeiger eingeschlossen ist: std::shared_ptr<myClass> myClassObject(new myClass()); dann wollte ich es als Argument an eine Methode übergeben: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr<myClass> arg1) { arg1->someField = 4; } Erhöht das oben Gesagte einfach die Referenzanzahl von shared_pt und alles ist cool? …

8
C ++ 11 emplace_back auf vector <struct>?
Betrachten Sie das folgende Programm: #include &lt;string&gt; #include &lt;vector&gt; using namespace std; struct T { int a; double b; string c; }; vector&lt;T&gt; V; int main() { V.emplace_back(42, 3.14, "foo"); } Es funktioniert nicht: $ g++ -std=gnu++11 ./test.cpp In file included from /usr/include/c++/4.7/x86_64-linux-gnu/bits/c++allocator.h:34:0, from /usr/include/c++/4.7/bits/allocator.h:48, from /usr/include/c++/4.7/string:43, from ./test.cpp:1: /usr/include/c++/4.7/ext/new_allocator.h: …
87 c++  c++11 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.