Bu yüzden, baştan sona okudum ve görünen o ki, Boost kitaplıkları pratikte çok kullanılıyor (benim dükkanımda değil). Bu neden? ve onu bu kadar harika yapan nedir?
Bu yüzden, baştan sona okudum ve görünen o ki, Boost kitaplıkları pratikte çok kullanılıyor (benim dükkanımda değil). Bu neden? ve onu bu kadar harika yapan nedir?
Yanıtlar:
Boost çok yaygın bir şekilde kullanılmaktadır çünkü:
Ana sayfadan:
"... dünyadaki en saygın ve ustalıkla tasarlanmış C ++ kütüphane projelerinden biri." - Herb Sutter ve Andrei Alexandrescu, C ++ Kodlama Standartları
"Madde 55: Kendinizi Boost ile tanıştırın." - Scott Meyers, Etkili C ++, 3. Baskı.
"Çoğu programcı için bariz çözüm, ihtiyaç duyulan hizmetlerden bağımsız, zarif ve verimli bir platform sağlayan bir kitaplık kullanmaktır. Örnekler BOOST ..." - Bjarne Stroustrup, Soyutlama, kitaplıklar ve C ++ 'da verimlilik
Öyleyse, yaygın olarak kullanılan ve kabul edilen bir dizi kitaplıktır, ancak neden buna ihtiyacınız olsun?
Eğer ihtiyacın varsa:
Standart kitaplığa birçok eksik şey ekledikleri için, o kadar ki bazıları standarda dahil ediliyor.
Boost insanlar yalan söylemiyor:
Bir kuruluş neden Boost kullanmalıdır?
Tek kelimeyle Verimlilik. Boost gibi yüksek kaliteli kitaplıkların kullanımı, ilk geliştirmeyi hızlandırır, daha az hataya neden olur, tekerleğin yeniden icat edilmesini azaltır ve uzun vadeli bakım maliyetlerini azaltır. Ve Boost kitaplıkları fiili veya de jure standartlar haline gelme eğiliminde olduğundan, birçok programcı bunlara aşinadır.
Boost kitaplıklarından on tanesi C ++ Standart Kitaplığı'nın TR1'ine dahil edilmiştir ve bu nedenle daha sonraki tam standardizasyon için planlanmıştır. TR2 için daha fazla Boost kitaplığı var. Boost kitaplıklarını kullanmak, bir kuruluşa yeni teknolojileri benimseme konusunda bir başlangıç sağlar.
Birçok kuruluş, Adobe Acrobat Reader 7.0 gibi Boost ile uygulanan programları zaten kullanıyor.
Birkaç Boost sınıfı çok kullanışlıdır (shared_ptr), ancak Boost'taki özellikler ve kavramlarla biraz çıldırdıklarını düşünüyorum. Derleme süreleri ve büyük ikili boyutlar, şablon ağırlıklı herhangi bir kodda olduğu gibi, Boost ile tamamen çılgın. Bir denge olmalı. Boost'un bulup bulmadığından emin değilim.
C ++ programlamaya daha modern bir yaklaşım sağlayan kitaplıklar ekler.
Tecrübelerime göre, birçok C ++ programcısı gerçekten 1990'ların başındaki C ++ programcılarıdır, hemen hemen C ++ sınıfları yazarlar, çok fazla jenerik kullanımı değildir. Daha modern yaklaşım, yazılımı daha dinamik diller gibi bir şekilde bir araya getirmek için jenerikleri kullanır, ancak yine de sonunda yazım denetimi / performansı elde edersiniz. Bakması biraz çirkin. Ancak sözdizimi sorunlarını bir kez aştığınızda, gerçekten oldukça güzel. Boost, öğeleri kolayca oluşturmak için ihtiyacınız olan birçok aracı sağlar. akıllı işaretçiler, işlevler, lambdalar, bağlamalar, vb. Daha sonra, ağ oluşturma, regex, vb. Gibi şeyler sağlamak için C ++ yazmanın bu daha yeni yöntemini kullanan artırma kitaplıkları vardır.
Çok sayıda döngü yazıyorsanız veya işlev nesnelerini elle çeviriyorsanız veya bellek yönetimi yapıyorsanız, kesinlikle artırmayı kontrol etmelisiniz.
BOOST, birçok C ++ projesinde ortak olan ihtiyaçları karşılayan bir kütüphane koleksiyonudur. Genellikle, doğruluk, yeniden kullanılabilirlik, taşınabilirlik, çalışma zamanı performansı ve alan verimliliğine BOOST uygulama kodunun okunabilirliğine göre öncelik verirler veya bazen zamanları derlerler. Eksiksiz üst düzey işlevsel gereksinimleri (örneğin uygulama çerçeveleri) kapsamama eğilimindedirler ve bunun yerine (neyse ki) uygulama tasarımını dikte etmeden veya baskın olmadan daha özgürce birleştirilebilen yapı taşları sunarlar.
BOOST'u kullanmayı düşünmenin önemli nedenleri şunları içerir:
Kütüphaneler burada bir veya iki satırda açıklanmaktadır: http://www.boost.org/doc/libs/ .
Çünkü C ++ standart kitaplığı o kadar eksiksiz değildir .
Herhangi bir şey Kevlin Henney 'ın katılımı dikkate alınmalıdır.
Temelde Standardın ne olacağının özetini artırın, Boost'un sağladığı tüm meslektaş incelemeleri ve kullanımının yanı sıra, bağımlılıklarınız için oldukça iyi bir anlaşma elde ettiğinizden oldukça emin olabilirsiniz.
Ancak çoğu mağaza Boost'u kullanmaz, çünkü bu bir Dış Bağımlılıktır. Ve gerçekte Dış bağımlılıkları azaltmak da çok önemlidir.
Dosya sistemi kitaplığından biraz çıkıyorum ve boost :: shared_ptr oldukça şık. Başka şeyler de yaptığını duydum.