Als «c++» getaggte Fragen

80
Nicht-virtuelle Methoden überschreiben

Nehmen wir dieses Szenario in Visual C ++ 2010 an: #include <iostream> #include <conio.h> using namespace std; class Base { public: int b; void Display() { cout<<"Base: Non-virtual display."<<endl; }; virtual void vDisplay() { cout<<"Base: Virtual

80
Warum ruft dies den Standardkonstruktor auf?

struct X { X() { std::cout << "X()\n"; } X(int) { std::cout << "X(int)\n"; } }; const int answer = 42; int main() { X(answer); } Ich hätte erwartet, dass dies auch gedruckt wird X(int), weil X(answer);als Besetzung von intbis Xoder interpretiert werden könnte überhaupt...

80
std :: vector :: resize () vs. std :: vector :: Reserve ()

Es ist ein Thread in den Kommentaren in diesem Beitrag über die Verwendung von std::vector::reserve()vs. std::vector::resize(). Hier ist der Originalcode: void MyClass::my_method() { my_member.reserve(n_dim); for(int k = 0 ; k < n_dim ; k++ ) my_member[k] = k ; } Ich glaube, um...

80
Wie verwende ich die Prioritätswarteschlange STL für Objekte?

class Person { public: int age; }; Ich möchte Objekte der Klasse Person in einer Prioritätswarteschlange speichern. priority_queue< Person, vector<Person>, ??? > Ich denke, ich muss eine Klasse für die Vergleichssache definieren, bin mir aber nicht sicher. Auch wenn wir...

80
Duplizieren Sie Code mit c ++ 11

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

80
Inkrementieren von 'maskierten' Bitsets

Ich bin gerade dabei, einen Baum-Enumerator zu schreiben, bei dem ich auf folgendes Problem gestoßen bin: Ich betrachte maskierte Bitsets, dh Bitsets, bei denen die gesetzten Bits eine Teilmenge einer Maske sind, dh 0000101mit Maske 1010101. Was ich erreichen möchte, ist das Inkrementieren des...

80
Wie kann diese Struktur eine Größe von == 0 haben?

Es gibt einen alten Beitrag, der nach einem Konstrukt fragt, für das er zurückkehren sizeofwürde 0. Es gibt einige Highscore-Antworten von Benutzern mit hohem Ansehen, die besagen, dass standardmäßig kein Typ oder keine Variable eine Größe von 0 haben kann. Und ich stimme dem zu 100% zu. Es...

80
Warum muss ich das Schlüsselwort 'auto' explizit schreiben?

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 ist. War es...

80
Variablen in einer if-Anweisung initialisieren

Ich habe gelesen, dass wir in C ++ 17 Variablen in solchen ifAnweisungen initialisieren können if (int length = 2; length == 2) //execute something Anstatt int length = 2; if (length == 2) //do something Obwohl es kürzer ist, beeinträchtigt es die Lesbarkeit des Codes (insbesondere für...

80
Wird `new` in` new int;` als Operator betrachtet?

Der Ausdruck new int;wie in int * x = new int;ist ein neuer Ausdruck . Der Begriff "neuer Operator" scheint synonym mit "neuer Ausdruck" verwendet zu werden, zum Beispiel in dieser Frage: Unterschied zwischen "neuer Operator" und "neuer Operator"? Ist es richtig zu sagen, dass das Schlüsselwort,...