Donc, j'ai lu et il semble que les bibliothèques Boost soient beaucoup utilisées dans la pratique (pas dans ma boutique, cependant). Pourquoi est-ce? et qu'est-ce qui le rend si merveilleux?
Donc, j'ai lu et il semble que les bibliothèques Boost soient beaucoup utilisées dans la pratique (pas dans ma boutique, cependant). Pourquoi est-ce? et qu'est-ce qui le rend si merveilleux?
Réponses:
Boost est tellement utilisé parce que:
Depuis la page d'accueil:
"... l'un des projets de bibliothèques C ++ les plus appréciés et les plus savamment conçus au monde." - Herb Sutter et Andrei Alexandrescu, Normes de codage C ++
"Point 55: Familiarisez-vous avec Boost." - Scott Meyers, C ++ efficace, 3e éd.
"La solution évidente pour la plupart des programmeurs est d'utiliser une bibliothèque qui fournit une plate-forme élégante et efficace indépendante des services nécessaires. Des exemples sont BOOST ..." - Bjarne Stroustrup, Abstraction, bibliothèques et efficacité en C ++
Il s'agit donc d'une gamme de bibliothèques largement utilisées et acceptées, mais pourquoi en auriez-vous besoin?
Si tu as besoin:
et plus encore lorsque vous codez en C ++, jetez un œil à Boost .
Parce qu'ils ajoutent beaucoup de choses manquantes à la bibliothèque standard, à tel point que certains d'entre eux sont inclus dans le standard.
Les gens Boost ne mentent pas:
Pourquoi une organisation devrait-elle utiliser Boost?
En un mot, la productivité. L'utilisation de bibliothèques de haute qualité comme Boost accélère le développement initial, entraîne moins de bogues, réduit la réinvention de la roue et réduit les coûts de maintenance à long terme. Et comme les bibliothèques Boost ont tendance à devenir des standards de facto ou de jure, de nombreux programmeurs les connaissent déjà.
Dix des bibliothèques Boost sont incluses dans TR1 de la bibliothèque standard C ++, et sont donc prévues pour une normalisation complète ultérieure. D'autres bibliothèques Boost sont en préparation pour TR2. L'utilisation des bibliothèques Boost donne à une organisation une longueur d'avance dans l'adoption de nouvelles technologies.
De nombreuses organisations utilisent déjà des programmes implémentés avec Boost, comme Adobe Acrobat Reader 7.0.
Quelques classes Boost sont très utiles (shared_ptr), mais je pense qu'elles sont devenues un peu folles avec les traits et les concepts de Boost. Les temps de compilation et les énormes tailles binaires sont complètement insensés avec Boost, comme c'est le cas avec n'importe quel code lourd en template. Il doit y avoir un équilibre. Je ne sais pas si Boost l'a trouvé.
Il ajoute des bibliothèques qui permettent une approche plus moderne de la programmation C ++.
D'après mon expérience, de nombreux programmeurs C ++ sont en réalité des programmeurs C ++ du début des années 1990, écrivant à peu près des classes C ++, peu utilisant des génériques. L'approche plus moderne utilise des génériques pour composer des logiciels ensemble d'une manière qui ressemble plus à des langages dynamiques, mais vous obtenez toujours une vérification de type / des performances à la fin. C'est un peu moche à regarder. Mais une fois que vous avez surmonté les problèmes de syntaxe, c'est vraiment très agréable. Boost vous donne de nombreux outils dont vous avez besoin pour composer facilement des choses. pointeurs intelligents, fonctions, lambdas, liaisons, etc.
si vous écrivez beaucoup de boucles for, ou des objets de fonction de roulement à la main, ou que vous faites de la gestion de la mémoire, vous devriez certainement vérifier boost.
BOOST est une collection de bibliothèques répondant aux besoins communs à de nombreux projets C ++. En règle générale, ils donnent la priorité à l'exactitude, la réutilisabilité, la portabilité, les performances d'exécution et l'efficacité de l'espace plutôt que la lisibilité du code d'implémentation BOOST, ou parfois les temps de compilation. Ils ont tendance à ne pas couvrir les exigences fonctionnelles de haut niveau complètes (par exemple, les cadres d'application), et offrent plutôt (heureusement) des blocs de construction qui peuvent être combinés plus librement sans dicter ou dominer la conception de l'application.
Les raisons importantes d'envisager d'utiliser BOOST sont les suivantes:
Les bibliothèques sont décrites dans une ou deux lignes ici: http://www.boost.org/doc/libs/ .
Parce que la bibliothèque standard C ++ n'est pas si complète .
Tout ce qui concerne la participation de Kevlin Henney doit être pris en compte.
Boostez essentiellement le synopsis de ce que deviendra le Standard, en plus de tous les examens par les pairs et de l'utilisation que Boost obtient, vous pouvez être à peu près sûr de faire une bonne affaire pour vos dépendances.
Cependant, la plupart des magasins n'utilisent pas Boost, car il s'agit d'une dépendance externe. Et en réalité, réduire les dépendances externes est également très important.
J'utilise la bibliothèque du système de fichiers quit un peu, et le boost :: shared_ptr est assez astucieux. J'entends qu'il fait aussi d'autres choses.