Donc, j'ai lu et il semble que les bibliothèques Boost soient très utilisées dans la pratique (mais pas dans mon magasin). Pourquoi est-ce? et qu'est-ce qui le rend si merveilleux?
Réponses
Trop de publicités?Boost est tellement utilisé parce que:
- Il est open-source et examinées par des pairs.
- Il fournit une large gamme de plate-forme agnostique fonctionnalités STL manqué.
- C'est un complément à la STL, plutôt que d'un remplacement.
- Beaucoup de Boost, les développeurs sont sur la norme C++ comité. En fait, de nombreux éléments de Boost est considéré comme inclus dans la prochaine norme C++ de la bibliothèque.
- Il est bien documenté.
- Sa licence permet l'inclusion dans l'open source et code source fermé projets.
- Ses caractéristiques ne sont pas généralement dépendants les uns des autres de sorte que vous pouvez lier uniquement les pièces dont vous avez besoin. [Luc hermitte (en)'commentaire]
À partir de la page d'accueil:
"...l'un des plus réputés et conçus par des experts de la bibliothèque C++ de projets dans le monde." - Herb Sutter et Andrei Alexandrescu, C++ Normes de Codage
"Article 55: Familiarisez-vous avec le coup de pouce." - Scott Meyers, Efficace, C++, 3ème Ed.
"La solution la plus évidente pour la plupart des programmeurs est d'utiliser une bibliothèque qui fournit un cadre élégant et efficace, indépendante de la plateforme de services nécessaires. Des exemples sont BOOST..." - Bjarne Stroustrup, d'Abstraction, de bibliothèques, et de l'efficacité en C++
Donc, c'est une gamme de largement utilisé et accepté les bibliothèques, mais pourquoi auriez-vous besoin?
Si vous avez besoin de:
- regex
- la fonction de liaison
- lambda fonctions
- les tests unitaires
- pointeurs intelligents
- noncopyable, en option
- la sérialisation
- générique dates
- portable de système de fichiers
- circulaire tampons
- config utils
- générique de l'image de la bibliothèque
- TR1
- fils
- uBLAS
Parce qu'ils ajoutent manque beaucoup de choses à la bibliothèque standard, de sorte que beaucoup de sorte que certains d'entre eux sont inclus dans la norme.
Stimuler les gens ne mentent pas:
Pourquoi les organisations devraient utiliser Boost?
En un mot, de la Productivité. L'utilisation de de haute qualité bibliothèques comme Boost les vitesses initiales de développement, les résultats en moins de bugs, réduit la réinvention de la roue, et les coupures à long terme, les coûts de maintenance. Et depuis Bibliothèques Boost ont tendance à devenir de facto ou de jure, de normes, de nombreux les programmeurs sont déjà familiers avec .
Dix des bibliothèques Boost sont inclus dans la Norme C++ de la Bibliothèque TR1, et donc sont prévus pour plus tard complète la normalisation. Plus de bibliothèques Boost sont dans le pipeline pour TR2. À l'aide de Bibliothèques Boost donne à un organisme une longueur d'avance dans l'adoption des nouvelles les technologies.
Beaucoup d'entreprises utilisent déjà des programmes mis en œuvre avec Boost, comme Adobe Acrobat Reader 7.0.
Il ajoute bibliothèques qui permettent une approche plus moderne de la programmation en C++.
Dans mon expérience, beaucoup de programmeurs C++ sont vraiment le début des années 1990, les programmeurs en C++, assez bien écrit classes C++, pas beaucoup d'utilisation de médicaments génériques. L'approche plus moderne utilise des génériques pour composer des logiciels d'une manière c'est plus comme de la dynamique des langues, mais vous avez encore de la vérification du type / de la performance à la fin. C'est un peu moche à regarder. Mais une fois que vous obtenez sur les questions de syntaxe il est vraiment très agréable. Booster vous donne les outils dont vous avez besoin pour composer des trucs facilement. les pointeurs intelligents, les fonctions, les lambdas, les liaisons, etc. Ensuite, il y a des bibliothèques boost qui exploitent cette nouvelle façon d'écrire en C++ pour fournir des choses comme la mise en réseau, regex, etc etc...
si vous écrivez beaucoup de pour les boucles, ou à rouler à la main des objets de fonction, ou de faire de la gestion de la mémoire, alors vous devriez certainement vérifier boost.