Ist es möglich, die Kardinalität eines c ++ zu bestimmen enum class: enum class Example { A, B, C, D, E }; Ich habe versucht, es zu verwenden sizeof, es gibt jedoch die Größe eines Enum-Elements zurück. sizeof(Example); // Returns 4 (on my architecture) Gibt es einen Standardweg, um die …
Wie kann ich zwei Vektoren auf dieselbe Weise sortieren, wobei Kriterien nur einen der Vektoren verwenden? Angenommen, ich habe zwei Vektoren gleicher Größe: vector<MyObject> vectorA; vector<int> vectorB; Ich sortiere dann vectorAmit einer Vergleichsfunktion. Diese Sortierung wurde neu angeordnet vectorA. Wie kann ich die gleiche Nachbestellung anwenden lassen vectorB? Eine Möglichkeit …
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, …
Ich habe gerade mit g ++ 4.7 (einem der späteren Schnappschüsse) mit aktiviertem -std = c ++ 11 herumgespielt. Ich habe versucht, einen Teil meiner vorhandenen Codebasis zu kompilieren, und ein fehlgeschlagener Fall verwirrt mich etwas. Ich würde mich freuen, wenn jemand erklären kann, was los ist. Hier ist der …
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 ordinary function that does something... return …
c ++ 11 hat die Möglichkeit, die aktuelle Thread-ID abzurufen, kann jedoch nicht in einen ganzzahligen Typ umgewandelt werden: cout<<std::this_thread::get_id()<<endl; Ausgabe: 139918771783456 cout<<(uint64_t)std::this_thread::get_id()<<endl; Fehler: Ungültige Umwandlung vom Typ 'std :: thread :: id' in Typ 'uint64_t'. Gleiches gilt für andere Typen. Ungültige Umwandlung vom Typ 'std :: thread :: id' …
Gibt es einen Unterschied zwischen diesen beiden Codesegmenten: void f() { thread_local vector<int> V; V.clear(); ... // use V as a temporary variable } und void f() { static thread_local vector<int> V; V.clear(); ... // use V as a temporary variable } Hintergrundgeschichte: Ursprünglich hatte ich einen STATISCHEN Vektor V …
In C ++ 11 emplace_back()ist im allgemeinen bevorzugt (in Bezug auf der Effizienz) zu , push_back()da es ermöglicht , in-Place - Konstruktion, aber das ist immer noch der Fall , bei der Verwendung push_back(std::move())mit einem bereits aufgebauten Objekt? Wird zum Beispiel emplace_back()in Fällen wie den folgenden immer noch bevorzugt? std::string …
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: Reinitialize container.push_back(2); assert(container.size() == 1 && container.front() == 2); Nach dem, was ich im C ++ 0x-Standardentwurf gelesen habe; ver3 …
Vor C ++ 11 konnten wir nur eine In-Class-Initialisierung für statische const-Elemente vom Integral- oder Aufzählungstyp durchführen. Stroustrup erläutert dies in seinen C ++ - FAQ anhand des folgenden Beispiels: class Y { const int c3 = 7; // error: not static static int c4 = 7; // error: not …
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 Kopieren / Zugreifen?
Ist es möglich zu überprüfen, ob a std::futurefertig ist oder nicht? Soweit ich das beurteilen kann, besteht der einzige Weg darin, wait_formit einer Dauer von Null anzurufen und zu überprüfen, ob der Status lautet readyoder nicht, aber gibt es einen besseren Weg?
Wie wir wissen, ist ein vorzeichenbehafteter Ganzzahlüberlauf ein undefiniertes Verhalten . In der C ++ 11- cstdintDokumentation gibt es jedoch etwas Interessantes : Ganzzahliger Typ mit Vorzeichen mit einer Breite von genau 8, 16, 32 bzw. 64 Bit ohne Auffüllbits und Verwendung des Zweierkomplements für negative Werte (nur bereitgestellt, wenn …
Also sah ich einen Vortrag namens rand (), der als schädlich angesehen wurde, und er befürwortete die Verwendung des Motorverteilungsparadigmas der Zufallszahlengenerierung gegenüber dem einfachen std::rand()Plusmodul-Paradigma. Ich wollte jedoch die Fehler aus std::rand()erster Hand sehen, also machte ich ein kurzes Experiment: Im Grunde genommen habe ich 2 Funktionen getRandNum_Old()und getRandNum_New()daß …
Ich denke, die Frage ist klar genug. Wird das autoSchlüsselwort Konstanz automatisch erkennen oder immer einen Nicht-Konstantentyp zurückgeben, selbst wenn es z. zwei Versionen einer Funktion (eine, die zurückgibt constund die andere, die dies nicht tut). Nur zur Veranschaulichung, ich benutze const auto end = some_container.end()vor meinen for-Schleifen, aber ich …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.