Als «c++» getaggte Fragen

C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entwickelt und hat eine ähnliche Syntax, ist aber jetzt eine völlig andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. Verwenden Sie ein versionierungsspezifisches Tag für Fragen zu einer bestimmten Standardversion [C ++ 11], [C ++ 14], [C ++ 17] oder [C ++ 20] usw.

8
Ld durch Gold ersetzen - Erfahrung?
Hat jemand versucht, goldstatt zu verwenden ld? gold verspricht viel schneller zu sein als ld, so dass es helfen kann, Testzyklen für große C ++ - Anwendungen zu beschleunigen, aber kann es als Ersatz für ld verwendet werden? Kann gcc/ g++direkt anrufen gold.? Gibt es bekannte Fehler oder Probleme? Obwohl …



6
Warum wird #pragma nicht einmal automatisch angenommen?
Was bringt es dem Compiler, die Datei nur einmal einzuschließen? Wäre es nicht standardmäßig sinnvoll? Gibt es überhaupt einen Grund, eine einzelne Datei mehrmals einzuschließen? Warum nicht einfach davon ausgehen? Hat es mit spezifischer Hardware zu tun?
81 c++  c  pragma 

11
Warum sollte uint32_t gegenüber uint_fast32_t bevorzugt werden?
Es scheint, dass dies uint32_tviel häufiger vorkommt als uint_fast32_t(mir ist klar, dass dies ein anekdotischer Beweis ist). Das erscheint mir allerdings kontraintuitiv. Fast immer, wenn ich sehe, dass eine Implementierung verwendet wird uint32_t, ist alles, was sie wirklich will, eine Ganzzahl, die Werte bis zu 4.294.967.295 enthalten kann (normalerweise eine …
81 c++  c  int 


7
Warum ist die Stapelspeichergröße so begrenzt?
Wenn Sie Speicher auf dem Heap zuweisen, ist die einzige Grenze der freie RAM (oder der virtuelle Speicher). Es macht Gb des Gedächtnisses. Warum ist die Stapelgröße so begrenzt (ca. 1 MB)? Welcher technische Grund hindert Sie daran, wirklich große Objekte auf dem Stapel zu erstellen? Update : Meine Absicht …

8
Verwenden von char * als Schlüssel in std :: map
Ich versuche herauszufinden, warum der folgende Code nicht funktioniert, und ich gehe davon aus, dass es sich um ein Problem bei der Verwendung von char * als Schlüsseltyp handelt. Ich bin mir jedoch nicht sicher, wie ich ihn beheben kann oder warum er auftritt. Alle anderen Funktionen, die ich (im …
81 c++  map  stdmap 


5
Was befindet sich in der LIB-Datei der statischen Bibliothek, der statisch verknüpften dynamischen Bibliothek und der dynamisch verknüpften dynamischen Bibliothek?
Was befindet sich in einer .lib-Datei der statischen Bibliothek, der statisch verknüpften dynamischen Bibliothek und der dynamisch verknüpften dynamischen Bibliothek? Wie kommt es, dass in einer dynamisch verknüpften dynamischen Bibliothek keine .lib-Datei erforderlich ist und dass in der statischen Verknüpfung die .lib-Datei nichts anderes als eine .obj-Datei mit allen Methoden …

7
Ist es wahrscheinlicher, dass die Verwendung eines nicht signierten als eines signierten Int Fehler verursacht? Warum?
Im Google C ++ Style Guide zum Thema "Ganzzahlen ohne Vorzeichen" wird dies empfohlen Aufgrund eines historischen Unfalls verwendet der C ++ - Standard auch vorzeichenlose Ganzzahlen, um die Größe von Containern darzustellen. Viele Mitglieder des Standardkörpers halten dies für einen Fehler, aber es ist derzeit praktisch unmöglich, ihn zu …

4
Ist auto_ptr veraltet?
Wird auto_ptr im eingehenden C ++ - Standard veraltet sein? Sollte unique_ptr anstelle von shared_ptr für die Eigentumsübertragung verwendet werden? Wenn unique_ptr nicht im Standard enthalten ist, muss ich stattdessen shared_ptr verwenden?

6
Erkennen der Kompilierungszeit der CPU-Architektur
Was ist der zuverlässigste Weg, um die CPU-Architektur beim Kompilieren von C- oder C ++ - Code herauszufinden? Soweit ich das _M_X86beurteilen kann, haben verschiedene Compiler ihre eigenen nicht standardmäßigen Präprozessordefinitionen ( in MSVS __i386__, __arm__in GCC usw.). Gibt es eine Standardmethode zum Erkennen der Architektur, für die ich baue? …

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
Der Ausdruck muss einen Klassentyp haben
Ich habe seit einiger Zeit nicht mehr in c ++ codiert und bin hängen geblieben, als ich versucht habe, dieses einfache Snippet zu kompilieren: class A { public: void f() {} }; int main() { { A a; a.f(); // works fine } { A *a = new A(); a.f(); …

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.