Nach einer verwandten Frage möchte ich nach den neuen Zeichen- und Zeichenfolgenliteraltypen in C ++ 11 fragen. Es scheint, dass wir jetzt vier Arten von Zeichen und fünf Arten von String-Literalen haben. Die Zeichentypen: char a = '\x30'; // character, no semantics wchar_t b = L'\xFFEF'; // wide character, no …
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?
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 - …
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 3 Jahren . Verbessere diese Frage Ich habe mich neulich mit …
Algorithmuslösung: std::generate(numbers.begin(), numbers.end(), rand); Bereichsbasierte For-Loop-Lösung: for (int& x : numbers) x = rand(); Warum sollte ich std::generatein C ++ 11 die ausführlicheren for-range-basierten for-Schleifen verwenden wollen?
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; // …
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 = …
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 …
Was ist der richtige Weg, um eine Funktion zu definieren, die einen int->intLambda-Parameter als Referenz empfängt ? void f(std::function< int(int) >& lambda); oder void f(auto& 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?
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?
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 …
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 …
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 …
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 …
Angenommen, ich habe den folgenden Code: vector<int> list; for(auto& elem:list) { int i = elem; } Kann ich die Position von elemim Vektor finden, ohne einen separaten Iterator zu verwalten?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.