Also habe ich durchgelesen und es scheint, dass die Boost-Bibliotheken in der Praxis viel genutzt werden (allerdings nicht in meinem Shop). Warum ist das? und was macht es so wunderbar?
Also habe ich durchgelesen und es scheint, dass die Boost-Bibliotheken in der Praxis viel genutzt werden (allerdings nicht in meinem Shop). Warum ist das? und was macht es so wunderbar?
Antworten:
Boost wird so häufig verwendet, weil:
Von der Homepage:
"... eines der angesehensten und fachmännischsten C ++ - Bibliotheksprojekte der Welt." - Herb Sutter und Andrei Alexandrescu, C ++ Coding Standards
"Punkt 55: Machen Sie sich mit Boost vertraut." - Scott Meyers, Effective C ++, 3. Aufl.
"Die naheliegende Lösung für die meisten Programmierer besteht darin, eine Bibliothek zu verwenden, die eine elegante und effiziente Plattform bietet, die unabhängig von den benötigten Diensten ist. Beispiele sind BOOST ..." - Bjarne Stroustrup, Abstraction, Bibliotheken und Effizienz in C ++
Es handelt sich also um eine Reihe weit verbreiteter und akzeptierter Bibliotheken, aber warum sollten Sie sie benötigen?
Wenn Sie brauchen:
und mehr, wenn Sie in C ++ codieren, werfen Sie einen Blick auf Boost .
Da sie der Standardbibliothek viele fehlende Dinge hinzufügen, werden einige von ihnen in den Standard aufgenommen.
Boost Menschen lügen nicht:
Warum sollte eine Organisation Boost verwenden?
Mit einem Wort: Produktivität. Die Verwendung hochwertiger Bibliotheken wie Boost beschleunigt die anfängliche Entwicklung, führt zu weniger Fehlern, reduziert die Neuerfindung des Rads und senkt die langfristigen Wartungskosten. Und da Boost-Bibliotheken in der Regel zu De-facto- oder De-jure-Standards werden, sind viele Programmierer bereits mit ihnen vertraut.
Zehn der Boost-Bibliotheken sind in TR1 der C ++ Standard Library enthalten und sollen daher später vollständig standardisiert werden. Weitere Boost-Bibliotheken für TR2 sind in Vorbereitung. Die Verwendung von Boost-Bibliotheken verschafft einem Unternehmen einen Vorsprung bei der Einführung neuer Technologien.
Viele Unternehmen verwenden bereits mit Boost implementierte Programme wie Adobe Acrobat Reader 7.0.
Einige Boost-Klassen sind sehr nützlich (shared_ptr), aber ich denke, sie sind ein bisschen verrückt nach Eigenschaften und Konzepten in Boost. Kompilierungszeiten und riesige Binärgrößen sind bei Boost völlig verrückt, wie es bei jedem vorlagenlastigen Code der Fall ist. Es muss ein Gleichgewicht geben. Ich bin mir nicht sicher, ob Boost es gefunden hat.
Es werden Bibliotheken hinzugefügt, die einen moderneren Ansatz für die C ++ - Programmierung ermöglichen.
Nach meiner Erfahrung sind viele C ++ - Programmierer wirklich die C ++ - Programmierer der frühen 90er Jahre, die so ziemlich C ++ - Klassen schreiben und nicht viel von Generika verwenden. Der modernere Ansatz verwendet Generika, um Software so zusammenzustellen, dass sie eher dynamischen Sprachen ähnelt. Am Ende erhalten Sie jedoch immer noch eine Typprüfung / Leistung. Es ist ein bisschen hässlich anzusehen. Aber sobald Sie die Syntaxprobleme überwunden haben, ist es wirklich sehr schön. Boost bietet Ihnen viele Tools, die Sie zum einfachen Erstellen von Inhalten benötigen. intelligente Zeiger, Funktionen, Lambdas, Bindungen usw. Dann gibt es Boost-Bibliotheken, die diese neuere Art des Schreibens von C ++ nutzen, um Dinge wie Netzwerk, Regex usw. usw. bereitzustellen.
Wenn Sie viele for-Schleifen schreiben oder Funktionsobjekte von Hand rollen oder Speicherverwaltung durchführen, sollten Sie auf jeden Fall das Boost-out überprüfen.
BOOST ist eine Sammlung von Bibliotheken, die die Anforderungen vieler C ++ - Projekte erfüllen. Im Allgemeinen priorisieren sie Korrektheit, Wiederverwendbarkeit, Portabilität, Laufzeitleistung und Raumeffizienz gegenüber der Lesbarkeit des BOOST-Implementierungscodes oder manchmal Kompilierungszeiten. Sie decken in der Regel nicht die vollständigen funktionalen Anforderungen auf hoher Ebene ab (z. B. Anwendungsframeworks), sondern bieten (dankenswerterweise) Bausteine, die freier kombiniert werden können, ohne das Anwendungsdesign zu diktieren oder zu dominieren.
Die wichtigsten Gründe für die Verwendung von BOOST sind:
Die Bibliotheken werden hier in ein oder zwei Zeilen beschrieben: http://www.boost.org/doc/libs/ .
Weil die C ++ - Standardbibliothek nicht so vollständig ist .
Alles, was mit Kevlin Henneys Beteiligung zu tun hat , sollte zur Kenntnis genommen werden.
Boost ist im Grunde die Zusammenfassung dessen, was der Standard werden wird. Abgesehen von all dem Peer Review und der Verwendung, die Boost bietet, können Sie ziemlich sicher sein, dass Sie für Ihre Abhängigkeiten ein gutes Geschäft machen.
Die meisten Geschäfte verwenden Boost jedoch nicht, da es sich um eine externe Abhängigkeit handelt. In der Realität ist es auch sehr wichtig, externe Abhängigkeiten zu reduzieren.
Ich benutze die Dateisystembibliothek ein wenig beenden, und das boost :: shared_ptr ist ziemlich geschickt. Ich höre, dass es auch andere Dinge tut.