Quindi, ho letto e sembra che le librerie Boost vengano utilizzate molto in pratica (non nel mio negozio, però). Perchè è questo? e cosa lo rende così meraviglioso?
Quindi, ho letto e sembra che le librerie Boost vengano utilizzate molto in pratica (non nel mio negozio, però). Perchè è questo? e cosa lo rende così meraviglioso?
Risposte:
Boost è usato così ampiamente perché:
Dalla home page:
"... uno dei progetti di libreria C ++ più apprezzati e sapientemente progettati al mondo." - Herb Sutter e Andrei Alexandrescu, standard di codifica C ++
"Articolo 55: familiarizza con Boost." - Scott Meyers, Effective C ++, 3a edizione.
"La soluzione ovvia per la maggior parte dei programmatori è utilizzare una libreria che fornisce una piattaforma elegante ed efficiente indipendente dai servizi necessari. Esempi sono BOOST ..." - Bjarne Stroustrup, Abstraction, librerie ed efficienza in C ++
Quindi, è una gamma di biblioteche ampiamente utilizzate e accettate, ma perché ne avresti bisogno?
Se hai bisogno:
e altro ancora quando codifichi in C ++, dai un'occhiata a Boost .
Perché aggiungono molte cose mancanti alla libreria standard, tanto che alcune di esse vengono incluse nello standard.
Le persone Boost non mentono:
Perché un'organizzazione dovrebbe utilizzare Boost?
In una parola, produttività. L'utilizzo di librerie di alta qualità come Boost accelera lo sviluppo iniziale, si traduce in un minor numero di bug, riduce la reinvenzione della ruota e riduce i costi di manutenzione a lungo termine. E poiché le librerie Boost tendono a diventare standard de facto o de jure, molti programmatori le conoscono già.
Dieci delle librerie Boost sono incluse nella TR1 della libreria standard C ++, quindi sono previste per una successiva standardizzazione completa. Altre librerie Boost sono in cantiere per TR2. L'utilizzo delle librerie Boost offre a un'organizzazione un vantaggio nell'adozione di nuove tecnologie.
Molte organizzazioni utilizzano già programmi implementati con Boost, come Adobe Acrobat Reader 7.0.
Alcune classi Boost sono molto utili (shared_ptr), ma penso che siano andati un po 'fuori di testa con tratti e concetti in Boost. I tempi di compilazione e le enormi dimensioni binarie sono completamente folli con Boost, come nel caso di qualsiasi codice pesante per i modelli. Deve esserci un equilibrio. Non sono sicuro che Boost l'abbia trovato.
Aggiunge librerie che consentono un approccio più moderno alla programmazione C ++.
Nella mia esperienza molti programmatori C ++ sono in realtà i primi programmatori C ++ degli anni '90, praticamente scrivono classi C ++, non usano molto i generici. L'approccio più moderno utilizza i generici per comporre software insieme in un modo più simile ai linguaggi dinamici, ma alla fine si ottengono comunque il controllo del tipo / prestazioni. È un po 'brutto da guardare. Ma una volta superati i problemi di sintassi, è davvero molto carino. Boost ti offre molti degli strumenti necessari per comporre facilmente le cose. puntatori intelligenti, funzioni, lambda, binding, ecc. Poi ci sono librerie boost che sfruttano questo nuovo modo di scrivere C ++ per fornire cose come networking, regex, ecc ecc ...
se stai scrivendo molti cicli for, o oggetti funzione che rotolano a mano, o gestisci la memoria, allora dovresti assolutamente controllare boost.
BOOST è una raccolta di librerie che soddisfano esigenze comuni a molti progetti C ++. In generale, danno la priorità a correttezza, riusabilità, portabilità, prestazioni in fase di esecuzione ed efficienza dello spazio rispetto alla leggibilità del codice di implementazione BOOST, o talvolta ai tempi di compilazione. Tendono a non coprire requisiti funzionali di alto livello completi (ad es. Framework applicativi), e invece (per fortuna) offrono blocchi di costruzione che possono essere combinati più liberamente senza dettare o dominare il design dell'applicazione.
I motivi importanti per considerare l'utilizzo di BOOST includono:
Le librerie sono descritte in una o due righe qui: http://www.boost.org/doc/libs/ .
Perché la libreria standard C ++ non è poi così completa .
Qualunque cosa riguardante il coinvolgimento di Kevlin Henney dovrebbe essere presa in considerazione.
Potenzia fondamentalmente la sinossi di ciò che diventerà lo Standard, inoltre con tutta la revisione tra pari e l'utilizzo che Boost ottiene puoi essere abbastanza sicuro di ottenere un buon affare per le tue dipendenze.
Tuttavia, la maggior parte dei negozi non utilizza Boost, perché è una dipendenza esterna. E in realtà anche ridurre le dipendenze esterne è molto importante.
Uso la libreria del filesystem per chiudere un po 'e il boost :: shared_ptr è piuttosto carino. Ho sentito che fa anche altre cose.