Als «c++» getaggte Fragen

83
Wiederverwendung eines bewegten Containers?

Was ist der richtige Weg, um einen bewegten Container wiederzuverwenden? std::vector<int> container; container.push_back(1); auto container2 = std::move(container); // ver1: Do nothing //container2.clear(); // ver2: "Reset" container = std::vector<int>() // ver3:

83
Wie kann man std :: unique_ptr weitergeben?

Ich habe meinen ersten Versuch, C ++ 11 zu verwenden unique_ptr. Ich ersetze einen polymorphen Rohzeiger in einem meiner Projekte, das einer Klasse gehört, aber ziemlich häufig herumgereicht wird. Früher hatte ich Funktionen wie: bool func(BaseClass* ptr, int other_arg) { bool val; // plain...

83
Enum vs Stark getippte Enum

Ich bin ein Anfänger in der C ++ - Programmierung. Heute stoße ich auf ein neues Thema: stark getippt enum. Ich habe es ein bisschen recherchiert, aber bis jetzt kann ich nicht herausfinden, warum wir das brauchen und wozu es gut ist. Zum Beispiel, wenn wir haben: enum xyz{a, b, c}; /*a = 0,...

83
std :: array vs array leistung

Wenn ich ein sehr einfaches Array wie erstellen möchte int myArray[3] = {1,2,3}; Soll ich std::arraystattdessen verwenden? std::array<int, 3> a = {{1, 2, 3}}; Was sind die Vorteile der Verwendung von std :: array gegenüber den üblichen? Ist es performanter? Einfacher zu handhaben für das...

83
Seltsame Aufzählung im Destruktor

Derzeit lese ich den Quellcode von Protocol Bufferund habe einen seltsamen enumCode gefunden, der hier definiert ist ~scoped_ptr() { enum { type_must_be_complete = sizeof(C) }; delete ptr_; } void reset(C* p = NULL) { if (p != ptr_) { enum { type_must_be_complete = sizeof(C) }; delete...

83
Geben alle C ++ - Operatoren etwas zurück?

Alle C ++ - Operatoren, mit denen ich gearbeitet habe, geben etwas zurück, z. B. gibt der +Operator das Ergebnis der Addition zurück. Geben alle C ++ - Operatoren etwas zurück oder gibt es einige C ++ - Operatoren, die nichts zurückgeben?