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.


5
Verlängert ein Mitglied einer konstanten Referenzklasse die Lebensdauer eines temporären?
Warum macht das: #include <string> #include <iostream> using namespace std; class Sandbox { public: Sandbox(const string& n) : member(n) {} const string& member; }; int main() { Sandbox sandbox(string("four")); cout << "The answer is: " << sandbox.member << endl; return 0; } Geben Sie die Ausgabe von: Die Antwort ist: …

13
Bezahle ich in C ++ für das, was ich nicht esse?
Betrachten wir die folgenden Hallo-Welt-Beispiele in C und C ++: main.c #include <stdio.h> int main() { printf("Hello world\n"); return 0; } main.cpp #include <iostream> int main() { std::cout<<"Hello world"<<std::endl; return 0; } Wenn ich sie in Godbolt to Assembly kompiliere, beträgt die Größe des C-Codes nur 9 Zeilen ( gcc …
170 c++  c 






4
Sollte ich der Quellcodeverwaltung .vcxproj.filter-Dateien hinzufügen?
Bei der Evaluierung von Visual Studio 2010 Beta 2 stelle ich fest, dass meine vcproj- Dateien im konvertierten Verzeichnis zu vcxproj- Dateien wurden. Neben jedem Projekt befinden sich auch vcxproj.filter- Dateien, die eine Beschreibung der Ordnerstruktur enthalten (\ Quelldateien, \ Header-Dateien usw.). Denken Sie, dass diese Filterdateien pro Benutzer aufbewahrt …



2
Public Friend Swap Member Funktion
In der schönen Antwort auf die Copy-and-Swap-Sprache gibt es einen Code, für den ich ein bisschen Hilfe brauche: class dumb_array { public: // ... friend void swap(dumb_array& first, dumb_array& second) // nothrow { using std::swap; swap(first.mSize, second.mSize); swap(first.mArray, second.mArray); } // ... }; und er fügt eine Notiz hinzu Es …

6
Verwenden generischer std :: function-Objekte mit Elementfunktionen in einer Klasse
Für eine Klasse möchte ich einige Funktionszeiger auf Mitgliedsfunktionen derselben Klasse in einem Objekt mapspeichern std::function. Aber ich versage gleich zu Beginn mit diesem Code: class Foo { public: void doSomething() {} void bindFunction() { // ERROR std::function<void(void)> f = &Foo::doSomething; } }; Ich erhalte error C2064: term does not …

3
Wie unterscheidet sich "= default" von "{}" für den Standardkonstruktor und -destruktor?
Ich habe dies ursprünglich nur als Frage zu Destruktoren gepostet, aber jetzt füge ich die Berücksichtigung des Standardkonstruktors hinzu. Hier ist die ursprüngliche Frage: Wenn ich meiner Klasse einen Destruktor geben möchte, der virtuell ist, aber ansonsten dem entspricht, was der Compiler generieren würde, kann ich Folgendes verwenden =default: class …

8
Trennen des Klassencodes in eine Header- und eine CPP-Datei
Ich bin verwirrt darüber, wie Implementierungs- und Deklarationscode einer einfachen Klasse in eine neue Header- und CPP-Datei getrennt werden kann. Wie würde ich beispielsweise den Code für die folgende Klasse trennen? class A2DD { private: int gx; int gy; public: A2DD(int x,int y) { gx = x; gy = y; …
169 c++  oop  class 

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.