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



8
Übergabe der Erfassung von Lambda als Funktionszeiger
Ist es möglich, eine Lambda-Funktion als Funktionszeiger zu übergeben? Wenn ja, muss ich etwas falsch machen, weil ich einen Kompilierungsfehler erhalte. Betrachten Sie das folgende Beispiel using DecisionFn = bool(*)(); class Decide { public: Decide(DecisionFn dec) : _dec{dec} {} private: DecisionFn _dec; }; int main() { int x = 5; …

2
Kann modernes C ++ Ihnen Leistung kostenlos bringen?
Es wird manchmal behauptet, dass C ++ 11/14 Ihnen eine Leistungssteigerung bringen kann, selbst wenn Sie lediglich C ++ 98-Code kompilieren. Die Begründung erfolgt normalerweise in Anlehnung an die Bewegungssemantik, da in einigen Fällen die rvalue-Konstruktoren automatisch generiert werden oder jetzt Teil der STL sind. Jetzt frage ich mich, ob …


3
undefinierter Verweis auf 'std :: cout'
Soll dies das Beispiel sein: #include <iostream> using namespace std; int main() { cout << "Hola, moondo.\n"; } Es wirft den Fehler: gcc -c main.cpp gcc -o edit main.o main.o: In function `main': main.cpp:(.text+0xa): undefined reference to `std::cout' main.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char,std::char_traits<char> >& std::operator<< <std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char> >&, char const*)' …
194 c++  c++11  gcc  cout 

9
Welche C ++ - Redewendungen sind in C ++ 11 veraltet?
Mit dem neuen Standard gibt es neue Wege, Dinge zu tun, und viele sind schöner als die alten Wege, aber der alte Weg ist immer noch in Ordnung. Es ist auch klar, dass der neue Standard aus Gründen der Abwärtskompatibilität offiziell nicht sehr abwertet. Die Frage bleibt also: Welche alten …
192 c++  c++11  c++-faq 

7
Warum hat std :: list :: reverse O (n) Komplexität?
Warum hat die Umkehrfunktion für die std::listKlasse in der C ++ - Standardbibliothek eine lineare Laufzeit? Ich würde denken, dass für doppelt verknüpfte Listen die Umkehrfunktion O (1) gewesen sein sollte. Das Umkehren einer doppelt verknüpften Liste sollte nur das Umschalten der Kopf- und Endzeiger beinhalten.
192 c++  c++11  stl  linked-list 


2
Welche Boost-Funktionen überschneiden sich mit C ++ 11?
Ich habe meine C ++ - Kenntnisse vor einigen Jahren ins Regal gestellt und es scheint, dass sich die Landschaft geändert hat, wenn ich sie jetzt wieder brauche. Wir haben jetzt C ++ 11 und ich verstehe, dass es viele Boost-Funktionen überlappt. Gibt es eine Zusammenfassung, wo diese Überschneidungen liegen, …
191 c++  boost  c++11 

5
Was ist der Sinn von Noreturn?
[dcl.attr.noreturn] bietet das folgende Beispiel: [[ noreturn ]] void f() { throw "error"; // OK } aber ich verstehe nicht, worum es geht [[noreturn]], weil der Rückgabetyp der Funktion bereits ist void. Was ist der Sinn des noreturnAttributs? Wie soll es verwendet werden?


4
std :: auto_ptr bis std :: unique_ptr
Mit dem neuen Standard (und Teilen, die bereits in einigen Compilern verfügbar sind) soll der neue Typ std::unique_ptrein Ersatz für sein std::auto_ptr. Überlappt sich ihre Verwendung genau (damit ich meinen Code global suchen / ersetzen kann (nicht, dass ich dies tun würde, aber wenn ich es tun würde)) oder sollte …

16
Wie rufe ich :: std :: make_shared für eine Klasse mit nur geschützten oder privaten Konstruktoren auf?
Ich habe diesen Code, der nicht funktioniert, aber ich denke, die Absicht ist klar: testmakeshared.cpp #include <memory> class A { public: static ::std::shared_ptr<A> create() { return ::std::make_shared<A>(); } protected: A() {} A(const A &) = delete; const A &operator =(const A &) = delete; }; ::std::shared_ptr<A> foo() { return A::create(); …
185 c++  c++11  shared-ptr 


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.