Als «c++» getaggte Fragen

81
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(); // this doesn't } }

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

81
const char * und char const * - sind sie gleich?

Nach meinem Verständnis sollten constModifikatoren von rechts nach links gelesen werden. Daraus ergibt sich: const char* ist ein Zeiger, dessen char-Elemente nicht geändert werden können, der Zeiger selbst jedoch und char const* ist ein konstanter Zeiger auf mutableZeichen. Aber ich bekomme die...

81
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 :...

81
Referenzelementvariablen als Klassenmitglieder

An meinem Arbeitsplatz sehe ich diesen Stil ausgiebig verwendet: #include <iostream> using namespace std; class A { public: A(int& thing) : m_thing(thing) {} void printit() { cout << m_thing << endl; } protected: const int& m_thing; //usually would be more complex object...

81
Enum-Konstanten verhalten sich in C und C ++ unterschiedlich

Warum macht das: #include <stdio.h> #include <limits.h> #include <inttypes.h> int main() { enum en_e { en_e_foo, en_e_bar = UINT64_MAX, }; enum en_e e = en_e_foo; printf("%zu\n", sizeof en_e_foo); printf("%zu\n", sizeof en_e_bar); printf("%zu\n", sizeof e); } Drucken 4...

81
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,...

81
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?

80
Wie man bis EOF von cin in C ++ liest

Ich codiere ein Programm, das Daten direkt von Benutzereingaben liest, und habe mich gefragt, wie ich (ohne Schleifen) alle Daten bis zur EOF von der Standardeingabe lesen kann. Ich habe überlegt, es zu verwenden, cin.get( input, '\0' )aber es '\0'ist nicht wirklich das EOF-Zeichen, das nur bis...

80
So implementieren Sie big int in C ++

Ich möchte eine große int-Klasse in C ++ als Programmierübung implementieren - eine Klasse, die Zahlen verarbeiten kann, die größer als eine lange int sind. Ich weiß, dass es bereits mehrere Open Source-Implementierungen gibt, aber ich würde gerne meine eigenen schreiben. Ich versuche ein Gefühl...