だから、私は読んでいますが、Boostライブラリは実際に多く使用されているようです(ただし、私の店ではそうではありません)。どうしてこれなの?そして何がそんなに素晴らしいのですか?
Boost は、次の理由で非常に広く使用されています。
ホームページから:
「...世界で最も高く評価され、専門的に設計されたC++ライブラリプロジェクトの1つ。」 — Herb SutterおよびAndrei Alexandrescu、C++コーディング標準
「アイテム55:Boostに慣れる」。 — Scott Meyers、Effective C++、第3版.
「ほとんどのプログラマにとって明らかな解決策は、必要なサービスに依存しないエレガントで効率的なプラットフォームを提供するライブラリを使用することです。例はBOOSTです...」— Bjarne Stroustrup、抽象、ライブラリ、C++の効率
それで、広く使われ、受け入れられているライブラリの範囲ですが、なぜそれが必要なのでしょうか?
必要な場合:
それらは多くの不足しているものを標準ライブラリに追加するので、それらのいくつかは標準に含まれるようになります。
ブースト 嘘をついていません:
組織でBoostを使用する理由
一言で言えば、生産性。 Boostのような高品質のライブラリを使用すると、初期開発が高速化され、バグが減少し、車輪の再発明が減り、長期的なメンテナンスコストが削減されます。また、Boostライブラリーは事実上の標準またはデジュールな標準になる傾向があるため、多くのプログラマーは既にそれらに精通しています。
Boostライブラリの10個は、C++標準ライブラリのTR1に含まれているため、後で完全に標準化する予定です。さらに多くのBoostライブラリがTR2のパイプラインにあります。 Boostライブラリを使用すると、組織は新しいテクノロジーを採用する際の有利なスタートを切ることができます。
多くの組織は、Adobe Acrobat Reader 7.0などのBoostで実装されたプログラムをすでに使用しています。
いくつかのBoostクラスは非常に便利です(shared_ptr)が、Boostの特性と概念に少々気を配ったと思います。コンパイル時間と巨大なバイナリサイズは、テンプレートを大量に使用するコードの場合のように、Boostで完全に狂っています。バランスが必要です。 Boostがそれを見つけたかどうかはわかりません。
C++プログラミングへのより現代的なアプローチを可能にするライブラリを追加します。
私の経験では、多くのC++プログラマーは実際には1990年代前半のC++プログラマーであり、C++クラスをほとんど書いていますが、ジェネリックはあまり使いません。より現代的なアプローチでは、ジェネリックを使用して、動的言語に似た方法でソフトウェアを構成しますが、最終的には型チェック/パフォーマンスが得られます。見るのは少しいです。しかし、構文の問題を乗り越えると、本当にすてきです。 Boostは、ものを簡単に作成するために必要な多くのツールを提供します。スマートポインター、関数、ラムダ、バインディングなど。その後、ネットワーク、正規表現などのようなものを提供するために、C++を記述するこの新しい方法を活用するブーストライブラリがあります。
多数のforループを書いたり、関数オブジェクトを手でローリングしたり、メモリ管理を行っている場合は、間違いなくブーストアウトをチェックする必要があります。
BOOSTは、多くのC++プロジェクトに共通するニーズを満たすライブラリのコレクションです。一般的に、BOOST実装コードの読みやすさ、またはコンパイル時間よりも、正確性、再利用性、移植性、実行時パフォーマンス、およびスペース効率を優先します。それらは、完全な高レベルの機能要件(アプリケーションフレームワークなど)をカバーしない傾向があり、代わりに(ありがたいことに)アプリケーション設計を決定または支配することなく、より自由に組み合わせることができるビルディングブロックを提供します。
BOOSTの使用を検討する重要な理由は次のとおりです。
ライブラリは、ここで1行または2行で説明されています: http://www.boost.org/doc/libs/ 。
C++標準ライブラリだけではありませんcomplete。
Kevlin Henney の関与があるものはすべて注意してください。
Boostは、C++に対するもので、.NET FrameworkがC#に対するものと似ていますが、おそらく小規模です。
基本的には、標準がどうなるかの概要をブーストします。また、Boostが取得するすべてのピアレビューと使用法に加えて、依存関係についてかなり多くのことを得ることができます。
ただし、ほとんどのショップは、外部依存関係であるため、Boostを使用しません。実際には、外部依存関係を減らすことも非常に重要です。
ファイルシステムライブラリを使用して少しやめて、boost :: shared_ptrはかなり気の利いたものです。他のこともしているそうです。