Als «c++» getaggte Fragen

192
Verwenden Sie NULL oder 0 (Null) für Zeiger in C ++?

In den frühen Tagen von C ++, als es auf C geschraubt wurde, konnten Sie NULL nicht so verwenden, wie es definiert wurde (void*)0. Sie konnten keinem anderen Zeiger als NULL zuweisen void*, was es irgendwie nutzlos machte. Damals wurde akzeptiert, dass Sie 0(Null) für Nullzeiger verwendet haben....

192
Was ist wirklich eine Deque in STL?

Overа этот вопрос есть ответы на Stapelüberlauf на русском : Особенность размещение элементов в std :: deque Ich habe mir STL-Container angesehen und versucht herauszufinden, was sie wirklich sind (dh die verwendete Datenstruktur), und die Deque hat mich aufgehalten: Ich...

192
Welche C ++ - Redewendungen sind in C ++ 11 veraltet?

Mit dem neuen Standard gibt es neue Wege, Dinge zu tun, und viele sind schöner als die alten Wege, aber der alte Weg ist immer noch in Ordnung. Es ist auch klar, dass der neue Standard aus Gründen der Abwärtskompatibilität offiziell nicht sehr abwertet. Die Frage bleibt also: Welche alten...

192
Warum hat std :: list :: reverse O (n) Komplexität?

Warum hat die Umkehrfunktion für die std::listKlasse in der C ++ - Standardbibliothek eine lineare Laufzeit? Ich würde denken, dass für doppelt verknüpfte Listen die Umkehrfunktion O (1) gewesen sein sollte. Das Umkehren einer doppelt verknüpften Liste sollte nur das Umschalten der Kopf- und...

191
Welche Boost-Funktionen überschneiden sich mit C ++ 11?

Ich habe meine C ++ - Kenntnisse vor einigen Jahren ins Regal gestellt und es scheint, dass sich die Landschaft geändert hat, wenn ich sie jetzt wieder brauche. Wir haben jetzt C ++ 11 und ich verstehe, dass es viele Boost-Funktionen überlappt. Gibt es eine Zusammenfassung, wo diese...

190
Kann ich ein binäres Literal in C oder C ++ verwenden?

Ich muss mit einer Binärzahl arbeiten. Ich habe versucht zu schreiben: const x = 00010000; Aber es hat nicht funktioniert. Ich weiß, dass ich eine Hexadezimalzahl verwenden kann, die denselben Wert hat wie 00010000, aber ich möchte wissen, ob es in C ++ einen Typ für Binärzahlen gibt, und wenn...

189
Was ist der beste Weg, um zwei Vektoren zu verketten?

Ich verwende Multitreading und möchte die Ergebnisse zusammenführen. Beispielsweise: std::vector<int> A; std::vector<int> B; std::vector<int> AB; Ich möchte, dass AB den Inhalt von A und den Inhalt von B in dieser Reihenfolge hat. Was ist der effizienteste Weg, so etwas zu...

189
Du sollst nicht von std :: vector erben

Ok, das ist wirklich schwer zu bekennen, aber ich habe im Moment eine starke Versuchung, von ihm zu erben std::vector. Ich benötige ungefähr 10 angepasste Algorithmen für den Vektor und möchte, dass sie direkt Mitglieder des Vektors sind. Aber natürlich möchte ich auch den Rest der...

189
Was ist der Sinn von Noreturn?

[dcl.attr.noreturn] bietet das folgende Beispiel: [[ noreturn ]] void f() { throw "error"; // OK } aber ich verstehe nicht, worum es geht [[noreturn]], weil der Rückgabetyp der Funktion bereits ist void. Was ist der Sinn des noreturnAttributs? Wie soll es verwendet

187
Wie verwende ich Enums als Flags in C ++?

Das Behandeln von enums als Flags funktioniert in C # über das [Flags]Attribut gut, aber wie geht das in C ++ am besten? Zum Beispiel möchte ich schreiben: enum AnimalFlags { HasClaws = 1, CanFly =2, EatsFish = 4, Endangered = 8 }; seahawk.flags = CanFly | EatsFish | Endangered; Ich erhalte...