Então, eu tenho lido e parece que as bibliotecas Boost se acostumaram muito na prática (embora não na minha loja). Por que é isso? e o que o torna tão maravilhoso?
Então, eu tenho lido e parece que as bibliotecas Boost se acostumaram muito na prática (embora não na minha loja). Por que é isso? e o que o torna tão maravilhoso?
Respostas:
O Boost é usado de maneira extensiva porque:
Na página inicial:
"... um dos projetos de bibliotecas C ++ mais conceituados e habilmente projetados do mundo." - Herb Sutter e Andrei Alexandrescu, padrões de codificação C ++
"Item 55: Familiarize-se com o Boost". - Scott Meyers, Effective C ++, 3ª Ed.
"A solução óbvia para a maioria dos programadores é usar uma biblioteca que forneça uma plataforma elegante e eficiente, independente dos serviços necessários. Exemplos são IMPULSO ..." - Bjarne Stroustrup, Abstração, bibliotecas e eficiência em C ++
Portanto, é uma variedade de bibliotecas amplamente usadas e aceitas, mas por que você precisaria?
Se você precisar:
e mais quando você codifica em C ++, dê uma olhada no Boost .
Como eles adicionam muitas coisas ausentes à biblioteca padrão, muitas delas estão sendo incluídas no padrão.
Impulsionar as pessoas não estão mentindo:
Por que uma organização deve usar o Boost?
Em uma palavra, produtividade. O uso de bibliotecas de alta qualidade como o Boost acelera o desenvolvimento inicial, resulta em menos bugs, reduz a reinvenção da roda e reduz os custos de manutenção a longo prazo. E como as bibliotecas Boost tendem a se tornar padrões de fato ou de direito, muitos programadores já estão familiarizados com elas.
Dez das bibliotecas Boost estão incluídas no TR1 da Biblioteca Padrão C ++ e, portanto, estão programadas para posterior padronização completa. Mais bibliotecas Boost estão no pipeline do TR2. O uso das bibliotecas do Boost fornece à organização um avanço na adoção de novas tecnologias.
Muitas organizações já usam programas implementados com o Boost, como o Adobe Acrobat Reader 7.0.
Algumas classes do Boost são muito úteis (shared_ptr), mas acho que elas ficaram um pouco loucas com características e conceitos no Boost. Tempos de compilação e tamanhos binários enormes são completamente insanos com o Boost, como é o caso de qualquer código pesado de modelo. Tem que haver um equilíbrio. Não tenho certeza se o Boost encontrou.
Ele adiciona bibliotecas que permitem uma abordagem mais moderna à programação C ++.
Na minha experiência, muitos programadores C ++ são realmente os programadores C ++ do início dos anos 90, praticamente escrevendo classes C ++, sem muito uso de genéricos. A abordagem mais moderna usa genéricos para compor software de maneira semelhante às linguagens dinâmicas, mas você ainda recebe verificação / desempenho de tipo no final. É um pouco feio de se ver. Mas uma vez superados os problemas de sintaxe, é realmente muito bom. O Boost oferece muitas ferramentas necessárias para você compor coisas facilmente. ponteiros inteligentes, funções, lambdas, ligações, etc. Depois, existem bibliotecas de impulso que exploram essa nova maneira de escrever C ++ para fornecer coisas como rede, regex, etc etc ...
se você estiver gravando muitos loops ou objetos de função de rolagem manual ou gerenciando a memória, você definitivamente deve verificar o aumento.
O BOOST é uma coleção de necessidades de preenchimento de bibliotecas comuns a muitos projetos C ++. Geralmente, eles priorizam a correção, a reutilização, a portabilidade, o desempenho em tempo de execução e a eficiência de espaço em detrimento da legibilidade do código de implementação do BOOST ou, às vezes, dos tempos de compilação. Eles tendem a não atender aos requisitos funcionais de alto nível completos (por exemplo, estruturas de aplicativos) e, ao invés disso (felizmente), oferecem blocos de construção que podem ser combinados mais livremente sem ditar ou dominar o design do aplicativo.
Os motivos importantes a considerar usando o BOOST incluem:
As bibliotecas são descritas em uma linha ou duas aqui: http://www.boost.org/doc/libs/ .
Porque a biblioteca padrão C ++ não é tão completa .
Qualquer coisa com o envolvimento de Kevlin Henney deve ser anotada .
Boost basicamente a sinopse do que o Standard se tornará, além de toda a revisão por pares e o uso que o Boost faz, você pode ter certeza de que está fazendo um bom negócio por suas dependências.
No entanto, a maioria das lojas não usa o Boost, porque é uma dependência externa. E, na realidade, reduzir as dependências externas também é muito importante.
Eu uso a biblioteca do sistema de arquivos um pouco, e o boost :: shared_ptr é bem bacana. Ouvi dizer que faz outras coisas também.