<new>
、 、およびおそらく他のもののような最小限のヘッダーが<initializer_list>
あるとします。Boost を使用して std C++ ライブラリとして機能させることは可能ですか、それとも多くのコードが欠落していますか?
私は、printf
(Windowsを考えてみてください)のようなひどいバージョンを持っているかもしれないC標準ライブラリを想定していますが、Boostは<boost/cstddef>
(または何か)でより良い実装を提供しますか?
<new>
、 、およびおそらく他のもののような最小限のヘッダーが<initializer_list>
あるとします。Boost を使用して std C++ ライブラリとして機能させることは可能ですか、それとも多くのコードが欠落していますか?
私は、printf
(Windowsを考えてみてください)のようなひどいバージョンを持っているかもしれないC標準ライブラリを想定していますが、Boostは<boost/cstddef>
(または何か)でより良い実装を提供しますか?
No. Boost is not designed to replace the C++ standard library; it is designed to complement and extend the C++ standard library. Also, Boost depends heavily on the C++ standard library.
うーん、ダメ。たとえば、Boost は標準出力をカプセル化するストリームを定義しません。確かに、いくつかの下位レベルの関数でSTDOUT
それ自体を使用できますが、そのロジックにより、標準ライブラリをまったく使用せずにほとんどすべてを行うことができます。
プラットフォームに依存する可能性がリモートでもあるものには、Boostまたはその他の真のクロスプラットフォームライブラリを使用することをお勧めします。ネットワーキング/ロックなど。
他のすべてについては、私は標準ライブラリに固執します-それらは十分に文書化されており、OS用に最適化されていることが多く、あちこちで耐える必要があるいくつかのifdefを除いて、コンパイルして正常に実行されますほとんどのプラットフォームで。