Als «c++» getaggte Fragen

Fragen zu C ++, einer statisch typisierten, frei formulierten, kompilierten, universellen Programmiersprache mit mehreren Paradigmen.


13
Ist es sinnvoll, jeden einzelnen dereferenzierten Zeiger auf Null zu setzen?
Bei einem neuen Job wurde ich in Code-Reviews für Code wie diesen markiert: PowerManager::PowerManager(IMsgSender* msgSender) : msgSender_(msgSender) { } void PowerManager::SignalShutdown() { msgSender_->sendMsg("shutdown()"); } Mir wurde gesagt, dass die letzte Methode lauten sollte: void PowerManager::SignalShutdown() { if (msgSender_) { msgSender_->sendMsg("shutdown()"); } } dh ich muss einen setzen NULLWache rund um …

3
Warum müssen wir private Mitglieder in Überschriften setzen?
Private Variablen sind eine Möglichkeit, die Komplexität und Implementierungsdetails für den Benutzer einer Klasse zu verbergen. Dies ist ein ziemlich schönes Feature. Aber ich verstehe nicht, warum wir sie in c ++ in den Header einer Klasse schreiben müssen. Ich sehe zwei ärgerliche Nachteile: Der Header des Benutzers wird unübersichtlich …
62 c++  headers 



10
Ist besser Show () + Hide () oder SetVisible (Bool sichtbar)?
Was ist besser und warum? (Aus Sicht des Interface-Designs): a) Zwei Show()und Hide()Funktionen haben b) Eine SetVisible(bool visible)Funktion haben BEARBEITEN: Zum Beispiel haben einige Objekte einen Sichtbarkeitsstatus und diese Funktion wird verwendet, um diesen zu ändern. c) haben alle drei Show(), Hide(), SetVisible(bool visible)Funktionen
59 java  c++  interfaces 

9
std :: shared_ptr als letzter Ausweg?
Ich habe gerade die "Going Native 2012" -Streams angesehen und die Diskussion darüber bemerkt std::shared_ptr. Ich war ein bisschen überrascht, als ich Bjarnes etwas negative Meinung std::shared_ptrund seine Bemerkung hörte, dass es als "letzter Ausweg" verwendet werden sollte, wenn die Lebensdauer eines Objekts ungewiss ist (was seiner Meinung nach selten …

13
Philosophie hinter undefiniertem Verhalten
C \ C ++ - Spezifikationen lassen eine Vielzahl von Verhalten offen, die Compiler auf ihre eigene Weise implementieren können. Es gibt eine Reihe von Fragen, die hier immer wieder gestellt werden, und wir haben einige ausgezeichnete Beiträge dazu: https://stackoverflow.com/questions/367633/what-are-all-the-common-undefined-behaviour-that-ac-programmer-should-know-abo https://stackoverflow.com/questions/4105120/what-is-undefined-behavior https://stackoverflow.com/questions/4176328/undefined-behavior-and-sequence-points Meine Frage ist nicht, was undefiniertes Verhalten ist, …


11
Eine moderne Rezension von Java [geschlossen]
Ich programmiere seit ein paar Jahren und habe in Java angefangen. In meiner Zeit habe ich viele verschiedene Quellen gefunden, die behaupten, Java sei auf die eine oder andere Weise eine minderwertige Sprache. Mir ist klar, dass jede Sprache ihre Stärken und Schwächen hat, aber viele Dinge, die ich über …

9
Lesbarkeit versus Wartbarkeit, Sonderfall beim Schreiben verschachtelter Funktionsaufrufe
Mein Codierungsstil für verschachtelte Funktionsaufrufe ist der folgende: var result_h1 = H1(b1); var result_h2 = H2(b2); var result_g1 = G1(result_h1, result_h2); var result_g2 = G2(c1); var a = F(result_g1, result_g2); Ich habe kürzlich zu einer Abteilung gewechselt, in der der folgende Codierungsstil sehr häufig verwendet wird: var a = F(G1(H1(b1), …

7
Warum gibt es in C ++ kein 'finally'-Konstrukt?
Die Ausnahmebehandlung in C ++ ist auf try / throw / catch beschränkt. Im Gegensatz zu Object Pascal, Java, C # und Python wurde das finallyKonstrukt auch in C ++ 11 nicht implementiert. Ich habe sehr viel C ++ - Literatur gesehen, die sich mit "Exception Safe Code" befasst. Lippman …
57 c++  exceptions 

7
Warum gibt es in std :: string so viele String-Klassen?
Es scheint mir, dass viele größere C ++ - Bibliotheken am Ende ihren eigenen Zeichenfolgentyp erstellen. Im Client - Code haben Sie entweder die eine aus der Bibliothek verwenden ( QString, CString, fbstringusw., ich bin sicher , dass jemand ein paar nennen kann) oder hält zwischen dem Standardtyp umzuwandeln und …
56 c++ 

3
Was ist ein Lambda und warum ist es nützlich? [geschlossen]
Bisher hörte ich von: Lambda-Kalkül Lambda-Programmierung Lambda-Ausdrücke Lambda funktioniert Was alles mit funktionaler Programmierung zu tun zu haben scheint ... Anscheinend wird es in C ++ 1x integriert, so dass ich es jetzt besser verstehen könnte: http://en.wikipedia.org/wiki/C%2B%2B0x#Lambda_functions_and_expressions Kann jemand kurz definieren, was Lambdas Dinge sind und wo es nützlich sein …

15
Warum haben wir ein Postfix-Inkrement?
Haftungsausschluss : Ich kenne die Semantik von Präfix und Postfix-Inkrement sehr gut. Erklären Sie mir bitte nicht, wie sie funktionieren. Beim Lesen von Fragen zum Stapelüberlauf kann ich nicht anders, als zu bemerken, dass Programmierer immer und immer wieder durch den Postfix-Inkrement-Operator verwirrt werden. Daraus ergibt sich die folgende Frage: …
55 c++  c  postfix 

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.