Die meisten funktionalen Programmiersprachen (zB Common Lisp, Scheme / Schläger, Clojure, Haskell, Scala, Ocaml, SML) unterstützen einige gemeinsame Funktionen höherer Ordnung auf Listen, wie map, filter, takeWhile, dropWhile, foldl, foldr(siehe zB Common Lisp, Scheme / Schläger, Clojure Seite an Seite Referenzblatt , die Haskell- , Scala- , OCaml- und die …
Laut Herb Sutter sollte man abstrakte Interfaces (alle rein virtuellen Funktionen) abstrakten Klassen in C ++ vorziehen, um die Implementierung so weit wie möglich zu entkoppeln. Obwohl ich diese Regel persönlich sehr nützlich finde, bin ich kürzlich einem Team mit vielen Java-Programmierern beigetreten, und im Java-Code scheint diese Richtlinie nicht …
Ich lerne OOP in C ++ und obwohl mir die Definitionen dieser 3 Konzepte bekannt sind, kann ich nicht wirklich erkennen, wann oder wie ich es verwenden soll. Verwenden wir diese Klasse für das Beispiel: class Person{ private: string name; int age; public: Person(string p1, int p2){this->name=p1; this->age=p2;} ~Person(){} void …
Ich habe in letzter Zeit einige notwendige Optimierungen vorgenommen. Eine Sache, die ich getan habe, ist, einige Ostringströme zu verändern -> Sprintfs. Ich sprinte ein paar Standard-Strings zu einem Array im Stil von AC, ala char foo[500]; sprintf(foo, "%s+%s", str1.c_str(), str2.c_str()); Es stellt sich heraus, dass die Implementierung von Microsoft …
Geschlossen . Diese Frage ist meinungsbasiert . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 5 Jahren . Ich arbeite viel in Python und Java, und beide …
Geschlossen . Diese Frage ist meinungsbasiert . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 5 Jahren . Meine Programmierklassen in der Schule waren C ++, aber …
Ich arbeite als Vermieter / Manager für eine Autovermietung, die auf einem Mietsystem läuft, das 1972 geschrieben wurde. Ich entschied, dass es vielleicht Zeit für ein Update war. Hier ist ein kurzes Beispiel für den Wahnsinn, mit dem wir uns täglich aus diesem Programm beschäftigen müssen: Ein Vermieter muss sich …
Geschlossen . Diese Frage ist meinungsbasiert . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 5 Jahren . Eine Firma, mit der ich zusammenarbeite, hat mich gebeten, …
Gibt es einen bestimmten Grund, dass dies die Sprache konzeptionell brechen würde, oder einen bestimmten Grund, dass dies in einigen Fällen technisch nicht durchführbar ist? Die Nutzung wäre mit neuem Betreiber. Edit: Ich werde die Hoffnung aufgeben, meinen "neuen Operator" und "neuen Operator" klar zu machen und direkt zu sein. …
Wenn Sie ein Objekt mit untergeordneten Objekten modellieren, ist es üblich, die untergeordneten Objekte über die Komposition als Mitglied der übergeordneten Klasse einzuschließen. Manchmal müssen die Kinder dem Elternteil jedoch etwas mitteilen, sie müssen eine Funktion des Elternteils aufrufen. Wie kann dies mit C ++ erreicht werden? Einige Optionen sind: …
Diese Frage ist inspiriert von einer Frage über finalin Java . Sollte ich in C / C ++ constwann immer möglich verwenden? Ich weiß, dass es bereits eine verwandte Frage zur Verwendung constin Parametern gibt . Leider beantworten diese Frage und ihre Antworten meine Frage nicht vollständig, da es sich …
Dies ist ursprünglich ein Teil einer anderen Frage. Warum wird sizeofein Operator zur Kompilierungszeit genannt? Ist es nicht tatsächlich ein Laufzeitoperator? Und wenn es sich in der Tat um einen Operator zur Kompilierungszeit handelt, wie kann er dazu beitragen, portablen Code zu erstellen, der auf verschiedenen Computern gleich ausgeführt wird? …
Ich habe keinen spezifischen Kontext, in dem ich die Frage stelle, aber als ich ein Einsteigerbuch über C ++ las, bemerkte ich, dass sowohl ein Endl-Stream-Manipulator als auch ein Newline-Escape-Zeichen beim Umgang mit einem Stream-Objekt verwendet wurden. Das Beispiel lautet wie folgt: cout << "Hello World" << endl; cout << …
Der folgende Code verursacht einen Speicherverlust: #include <iostream> #include <memory> #include <vector> using namespace std; class base { void virtual initialize_vector() = 0; }; class derived : public base { private: vector<int> vec; public: derived() { initialize_vector(); } void initialize_vector() { for (int i = 0; i < 1000000; i++) …
Ich bemerkte also, dass es möglich ist, das Einfügen privater Funktionen in Kopfzeilen zu vermeiden, indem man Folgendes ausführt: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return p.somePrivateField == …
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.