Wenn ich folgende Erklärung habe: float a = 3.0 ; Ist das ein Fehler? Ich habe in einem Buch gelesen, 3.0das ein doubleWert ist und den ich als angeben muss float a = 3.0f. Ist es so?
Ich habe ein Projekt, das derzeit C ++ 11/14 verwendet, aber es erfordert so etwas wie std::filesystem, das nur in C ++ 17 verfügbar ist, und daher habe ich keine Chance, es derzeit zu verwenden. Ich sehe jedoch, dass es in meinem aktuellen Compiler als verfügbar ist std::experimental::filesystem. Ist es …
Ich erwäge die Verwendung einiger C ++ 11-Funktionen (wie autozum Beispiel) in einigen plattformübergreifenden Projekten (Windows + Mac). Unter Windows unterstützt Visual Studio Teile des kommenden C ++ 11-Standards, mit denen ich Teile der Codebasis vereinfachen kann, sodass ich natürlich daran interessiert wäre, diese Funktionen zu verwenden. Soweit mir bekannt …
In C ++ 11 können Sie eine bereichsbasierte Version verwenden for, die wie die foreachanderer Sprachen fungiert. Es funktioniert sogar mit einfachen C-Arrays: int numbers[] = { 1, 2, 3, 4, 5 }; for (int& n : numbers) { n *= 2; } Woher weiß es, wann es aufhören soll? …
Einer meiner Lieblingshasse von C-abgeleiteten Sprachen (als Mathematiker) ist das (-1) % 8 // comes out as -1, and not 7 fmodf(-1,8) // fails similarly Was ist die beste Lösung? C ++ ermöglicht die Möglichkeit des Überladens von Vorlagen und Operatoren, aber beide sind für mich trübes Wasser. Beispiele dankbar …
bool compare_exchange_weak (T& expected, T val, ..); compare_exchange_weak()ist eines der in C ++ 11 bereitgestellten Vergleichsaustausch-Grundelemente. Es ist schwach in dem Sinne, dass es false zurückgibt, selbst wenn der Wert des Objekts gleich ist expected. Dies ist auf einen falschen Fehler auf einigen Plattformen zurückzuführen, auf denen eine Folge von …
Im folgenden C++Programm funktioniert das Ändern eines statischen Datenelements aus einer constFunktion einwandfrei: class A { public: static int a; // static data member void set() const { a = 10; } }; Das Ändern eines nicht statischen Datenelements aus einer constFunktion funktioniert jedoch nicht: class A { public: int …
Dies ist eine Fortsetzung meiner vorherigen Frage zu hübsch gedruckten STL-Containern , für die wir eine sehr elegante und vollständig allgemeine Lösung entwickelt haben. In diesem nächsten Schritt möchte ich das hübsche Drucken std::tuple<Args...>mit variadischen Vorlagen einschließen (dies ist also ausschließlich C ++ 11). Denn std::pair<S,T>ich sage einfach std::ostream & …
Wie kann ich die Anzahl der Argumente für eine variable Vorlagenfunktion ermitteln? dh: template<typename... T> void f(const T&... t) { int n = number_of_args(t); ... } Was ist der beste Weg, um number_of_argsdas oben genannte zu implementieren ?
Wie kann ich überprüfen, ob a std::threadnoch ausgeführt wird (plattformunabhängig)? Es fehlt eine timed_join()Methode und joinable()ist nicht dafür gedacht. Ich dachte daran, einen Mutex mit einem std::lock_guardim Thread zu sperren und mithilfe der try_lock()Mutex-Methode festzustellen, ob er noch gesperrt ist (der Thread läuft), aber er scheint mir unnötig komplex zu …
Derzeit kann ich nur Fernkampf-basierte Schleifen damit ausführen: for (auto& value : values) Aber manchmal brauche ich einen Iterator für den Wert anstelle einer Referenz (aus welchem Grund auch immer). Gibt es eine Methode, ohne den gesamten Vektor durchlaufen zu müssen, um Werte zu vergleichen?
C ++ 0x wird den folgenden Code und ähnlichen Code falsch formulieren, da eine sogenannte Verengungskonvertierung von a doublein a erforderlich ist int. int a[] = { 1.0 }; Ich frage mich, ob diese Art der Initialisierung im Code der realen Welt häufig verwendet wird. Wie viele Codes werden durch …
C ++ 0x fügt hinzu hash<...>(...). Ich konnte jedoch keine hash_combineFunktion finden , wie in Boost dargestellt . Was ist der sauberste Weg, um so etwas zu implementieren? Vielleicht mit C ++ 0x xor_combine?
Ich verstehe, dass dies volatileden Compiler darüber informiert, dass der Wert möglicherweise geändert wird. Muss der Compiler jedoch einen Speicherzaun einführen, damit diese Funktion funktioniert, um diese Funktionalität zu erreichen? Nach meinem Verständnis kann die Reihenfolge der Operationen an flüchtigen Objekten nicht neu angeordnet werden und muss beibehalten werden. Dies …
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.