Was sind die Vorteile der Verwendung der C ++ Bibliotheken Auftrieb? [geschlossen]

StackOverflow https://stackoverflow.com/questions/125580

  •  02-07-2019
  •  | 
  •  

Frage

Also, ich habe durch gelesen und es scheint, dass die Boost-Bibliotheken viel in der Praxis zu gewöhnen (nicht in meinem Geschäft, obwohl). Warum ist das? und was macht es so wunderbar?

War es hilfreich?

Lösung

Erhöhung verwendet wird, so umfangreich, weil:

Andere Tipps

Von der Startseite:

  

„... eine der angesehensten und fachmännisch C ++ Bibliothek Projekte in der Welt entwickelt.“   - Herb Sutter und Andrei Alexandrescu, C ++ Coding Standards

     

"Artikel 55: Machen Sie sich mit kurbeln."   -. Scott Meyers, Effective C ++, 3. Ed

     

„Die offensichtliche Lösung für die meisten Programmierer ist es, eine Bibliothek zu verwenden, die eine elegante und effiziente Plattform unabhängig benötigte Dienste zur Verfügung stellt. Beispiele hierfür sind BOOST ...“     - Bjarne Stroustrup, Abstraktion, Bibliotheken und Effizienz in C ++

Also, es ist eine Reihe von weit verbreiteten und akzeptierten Bibliotheken, aber warum sollten Sie es brauchen?

Wenn Sie:

  • regex
  • Funktion Bindung
  • Lambda-Funktionen
  • Unit-Tests
  • intelligente Zeiger
  • noncopyable, optional
  • Serialisierung
  • Gattungsdaten
  • portable Dateisystem
  • Ringpuffer
  • config-utils
  • generic Bildbibliothek
  • TR1
  • Themen
  • uBLAS

und mehr , wenn Sie Code in C ++, hat einen Blick auf Erhöhung .

Weil sie viele fehlende Dinge auf die Standard-Bibliothek hinzufügen, so sehr, einige von ihnen sind in den Standard aufgenommen zu werden.

Menschen steigern nicht liegen:

  

Warum sollte eine Organisation Verwendung Auftrieb?

     

Mit einem Wort: Die Produktivität. Gebrauch von   hochwertige Bibliotheken wie Boost-   beschleunigt anfängliche Entwicklung, führt zu   weniger Fehler, reduziert   Neuerfindung-of-the-Rad und Schnitte   Langfristig Wartungskosten. Und seit   Boost-Bibliotheken neigen de zu werden   facto oder de jure-Standards, viele   Programmierer sind bereits bekannt   sie.

     

Zehn der Boost-Bibliotheken sind   in der C ++ Standard Library ist enthalten   TR1, und so ist für später geplant voll   Standardisierung. Mehr Boost-Bibliotheken   in der Pipeline für TR2 sind. Mit   Boost-Bibliotheken gibt eine Organisation   ein Vorsprung in neuen Erlass   Technologien.

     

Viele Unternehmen bereits Programme verwenden   mit Boost-implementiert, wie Adobe   Acrobat Reader 7.0.

Einige Boost-Klassen sind sehr nützlich (shared_ptr), aber ich denke, dass sie ein bisschen verrückt mit Eigenschaften und Konzepte in Boost-ging. Kompilieren Zeiten und große binäre Größen sind völlig verrückt mit Boost, wie es der Fall mit jeder Vorlage schwerer Code. Es muss ein Gleichgewicht sein. Ich bin mir nicht sicher, ob Boost-es gefunden hat.

Es fügt Bibliotheken, die für einen moderneren Ansatz für C ++ Programmierung ermöglichen.

Nach meiner Erfahrung viele C ++ Programmierer sind wirklich die Anfang der 1990er Jahre C ++ Programmierer, so ziemlich Schreiben C ++ Klassen, nicht viel Gebrauch von Generika. Der moderneren Ansatz verwendet Generika-Software zu komponieren zusammen in Art und Weise, das ist mehr wie dynamische Sprachen, aber Sie noch Typprüfung / Leistung am Ende bekommen. Es ist ein bisschen hässlich, zu betrachten. Aber sobald man über die Syntax Probleme bekommen, ist es wirklich ganz nett. Auftrieb gibt Ihnen eine Menge von Werkzeugen, die Sie benötigen Sachen leicht zu komponieren. Smart-Pointer, Funktionen, Lambda-Ausdrücke, Bindungen, usw. Dann gibt es Boost-Bibliotheken, die diese neuere Art und Weise des Schreibens C ++ ausnutzen Dinge wie Vernetzung zu bieten, regex, etc etc ...

Wenn Sie eine Menge für Schleifen schreiben, oder Handfunktion Objekte rollen, oder tut Speicherverwaltung, dann sollten Sie auf jeden Fall überprüfen steigern werden.

BOOST ist eine Sammlung von Bibliotheken Bedürfnisse, die in vielen C ++ Projekten zu füllen. Im Allgemeinen, sie priorisieren Korrektheit, Wiederverwertbarkeit, Portabilität, Laufzeitleistung und Raum-Effizienz über die Lesbarkeit von BOOST Implementierungscode, oder manchmal mal kompilieren. Sie neigen dazu, nicht vollständig auf hohe Ebene funktionale Anforderungen (zum Beispiel Anwendungs-Frameworks) abzudecken, und statt (zum Glück) bietet Bausteine, die mehr frei kombiniert werden können, ohne Diktieren oder dominieren das Anwendungsdesign.

Die wichtige Gründe mit BOOST zu berücksichtigen sind:

  • die meisten Bibliotheken sind ziemlich gut getestet und entwickelt: sie in der Regel eine hinreichend sichere Bewertung von einigen ausgezeichneten Programmierern erhalten, im Vergleich zu Menschen mit nach Hause brauen Lösungen im gleichen Problemraum und weit verbreitet genug, um umfangreiches reale Welt Feedback zu sammeln
  • es ist bereits geschrieben und Ihre Lösung ist wahrscheinlich nicht
  • es ist ziemlich tragbar (aber das variiert je nach Bibliothek)
  • mehr Menschen in der C ++ Gemeinschaft einen Vorsprung in Sie mit Ihrem Code zu helfen
  • haben
  • BOOST ist oft ein Prüfgelände für Einführung in die C ++ Standard so werden Sie weniger Arbeit haben in Umschreiben Code zu tun, mit zukünftigen Standards sans kompatibel zu sein BOOST
  • aufgrund der Nachfrage in der Gemeinschaft, Compiler-Anbieter sind eher zu testen und zu Fragen der Korrektheit mit BOOST Nutzung
  • reagieren
  • Vertrautheit mit Boost-Bibliotheken finden Sie auf anderen Projekten eine ähnliche Arbeit tun helfen, möglicherweise auch in anderen Unternehmen, wo alles, was Code, den Sie jetzt vielleicht nicht für die Wiederverwendung zur Verfügung schreiben könnte

Die Bibliotheken werden in einer Zeile oder zwei hier beschrieben: http://www.boost.org/ doc / libs / .

Da die C ++ Standardbibliothek ist nicht alles, was vollständig .

Alles, was mit Kevlin Henney 'Beteiligung getroffen werden sollten zur Kenntnis.

-Boost im Grunde die Zusammenfassung dessen, was der Norm wird sich neben mit allen Peer-Review und Nutzung, die Sie Auftrieb erhält hübsch sein kann, dass Ihr immer ein ziemlich gutes Geschäft für Ihre Abhängigkeiten.

Doch die meisten Geschäfte nicht verwenden Boost, weil seine externe Abhängigkeit. Und in Wirklichkeit Verringerung der externen Abhängigkeiten ist auch sehr wichtig.

Boost ist auf C ++ Art wie .NET Framework C # ist, aber vielleicht in einem kleineren Maßstab.

Ich benutze die Dateisystem-Bibliothek ein wenig verlassen, und die boost :: shared_ptr ist ziemlich raffiniert. Ich höre es tut andere Dinge auch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top