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


3
Was ist eine subnormale Gleitkommazahl?
Die Referenzseite isnormal () sagt: Bestimmt, ob die angegebene Gleitkommazahl arg normal ist, dh weder Null, subnormal, unendlich noch NaN ist. Eine Zahl, die Null, unendlich oder NaN ist, ist klar, was es bedeutet. Es heißt aber auch subnormal. Wann ist eine Zahl nicht normal?

4
Was ist der Unterschied zwischen C ++ 0x und C ++ 11?
Ich sehe eine gemischte Verwendung dieser beiden Begriffe hier auf SO. Wikipedia sagt C ++ 11, früher auch als C ++ 0x bekannt ... aber ich bin mir nicht sicher warum. Warum hieß es zuerst C ++ 0x und dann C ++ 11? Wofür steht das x? Meine Vermutung - …
82 c++  c++11 



6
Ist Bjarne in Bezug auf dieses ADL-Beispiel falsch oder habe ich einen Compiler-Fehler?
Ich lese The C ++ Programming Language, 4. Ausgabe (von Bjarne Stroustrup ) überargumentabhängige Suche. Hier ist das Zitat (26.3.6, Overaggressive ADL): Die argumentabhängige Suche (oft als ADL bezeichnet) ist sehr nützlich, um Ausführlichkeit zu vermeiden (14.2.4). Beispielsweise: #include <iostream> int main() { std::cout << "Hello, world" << endl; // …

3
Wie deklariere ich eine Funktion, die ein Lambda akzeptiert?
Ich habe im Internet viele Tutorials gelesen, in denen erklärt wurde, wie man Lambdas mit der Standardbibliothek verwendet (z. B. std::find), und alle waren sehr interessant, aber ich konnte keine finden, die erklärten, wie ich ein Lambda für meine eigenen Funktionen verwenden kann. Beispielsweise: int main() { int test = …
81 c++  lambda  c++11 

4
Erlaubt C ++ 11 den Vektor <const T>?
Die Containeranforderungen wurden von C ++ 03 auf C ++ 11 geändert. Während C ++ 03 pauschale Anforderungen hatte (z. B. Kopierkonstruierbarkeit und Zuweisbarkeit für Vektoren), definiert C ++ 11 feinkörnige Anforderungen für jede Containeroperation (Abschnitt 23.2). Infolgedessen können Sie beispielsweise einen Typ, der kopierkonstruierbar, aber nicht zuweisbar ist, wie …
81 c++  vector  c++11  const 

4
c ++ 0x: Richtige Methode, um ein Lambda als Parameter als Referenz zu erhalten
Was ist der richtige Weg, um eine Funktion zu definieren, die einen int-&gt;intLambda-Parameter als Referenz empfängt ? void f(std::function&lt; int(int) &gt;&amp; lambda); oder void f(auto&amp; lambda); Ich bin mir nicht sicher, ob das letzte Formular überhaupt eine legale Syntax ist. Gibt es andere Möglichkeiten, einen Lambda-Parameter zu definieren?

4
Speicherausrichtung: Wie verwende ich alignof / alignas?
Ich arbeite gerade mit Shared Memory. Ich kann nicht verstehen alignofund alignas. cppreference ist unklar: Gibtalignof "Ausrichtung" zurück, aber was ist "Ausrichtung"? Anzahl der hinzuzufügenden Bytes für den nächsten auszurichtenden Block? gepolsterte Größe? Stapelüberlauf / Blogeinträge sind ebenfalls unklar. Kann jemand klar alignofund deutlich erklären alignas?

6
Duplizieren Sie Code mit c ++ 11
Ich arbeite derzeit an einem Projekt und habe das folgende Problem. Ich habe eine C ++ - Methode, mit der ich auf zwei verschiedene Arten arbeiten möchte: void MyFunction() { foo(); bar(); foobar(); } void MyFunctionWithABonus() { foo(); bar(); doBonusStuff(); foobar(); } Und ich möchte meinen Code nicht duplizieren, da …
80 c++  c++11  templates 

2
Was ist der Unterschied zwischen einem leeren und einem null std :: shared_ptr in C ++?
Auf der Seite cplusplus.comshared_ptr wird zwischen einer leeren std::shared_ptr und einer Null unterschieden shared_ptr . Die Seite cppreference.com ruft die Unterscheidung nicht explizit auf, sondern verwendet nullptrin ihrer Beschreibung des std::shared_ptrVerhaltens sowohl "leer" als auch Vergleich mit . Gibt es einen Unterschied zwischen einer leeren und einer Null shared_ptr? Gibt …
80 c++  c++11  shared-ptr 

7
Warum muss ich das Schlüsselwort 'auto' explizit schreiben?
Ich wechsle von C ++ 98 zu C ++ 11 und habe mich mit dem autoSchlüsselwort vertraut gemacht . Ich habe mich gefragt, warum wir explizit deklarieren müssen, autoob der Compiler den Typ automatisch ableiten kann. Ich weiß, dass C ++ eine stark typisierte Sprache ist und dies eine Regel …
80 c++  c++11  auto 

12
Nicht verwendeter Parameter in c ++ 11
In c ++ 03 und früheren Versionen verwende ich normalerweise folgenden Code, um die Compiler-Warnung über nicht verwendete Parameter zu deaktivieren: #define UNUSED(expr) do { (void)(expr); } while (0) Zum Beispiel int main(int argc, char *argv[]) { UNUSED(argc); UNUSED(argv); return 0; } Makros sind jedoch keine bewährte Methode für C …


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.