1つのプロジェクト内でboostとstlの両方のライブラリを使用するのは大丈夫でしょうか?そうすることの潜在的な欠点は何か(明らかに1のコードサイズに加えて)?私は、原子型とベクトルのような低レベルのデータ構造のための多くのラッパークラスを作成しているので、将来のいくつかの潜在的な問題を助けることができると思うが、おそらく自分のコンテナクラスにすべてをラップしないだろう。一つのプロジェクトでboostとstlのライブラリを混在させるのは難しいですか?
答えて
そのためにラッパーを作成して時間を無駄にしないでください。またboostはstlの拡張の一種として作られています。 ...
ビルドプロセスで世話をするために多くのAPIを学ぶために、より多くの依存関係しかし、それは便利であれば、なぜ単にことができるか再作成します。もちろん
は、常に新しいLIBSを使用するdissadvantageあり中古。 Boostはstlスタイルで書かれた方法です。
例えば、stlアルゴリズムが問題なくBoostコンテナを受け入れると言っても忘れてしまいます。多くのコンバージョンを行わないために、1つのコンテナを選択してみてください。 –
洞察に感謝します。そして、私がベクトルのようなもののためのラッパーを作成している理由は、私の上記のコメント応答で言及されています。私はそれが私の場合に非常に役に立つと思う。 – Jason
stl型のイテレータとtypedefを使用すると、ほぼすべてのC++フレームワークに切り替えることができます。ラッパーは必要ありません。ある時点でよりエキゾチックなlibに変更したい場合は、ラッパーを書くことができます。それまでのtypedefは簡単な切り替えを可能にし、イテレータはコードが互換性があることを保証します。 –
- 1. なぜclangはBoost for STLを混乱させますか?
- 2. Visual Studioで単一のプロジェクトにC++とCを混在させることはできますか?
- 3. 1つのライブラリに基づいた異なるAPIを混在させることはできますか?
- 4. 最適化レベルの異なる2つの静的ライブラリを混在させることは可能ですか?
- 5. C/C++ライブラリを混在させる
- 6. スタティックテーブルとダイナミックテーブルを1つのビューで混在させる方法
- 7. 個別のXtendファイルをJavaプロジェクトのJavaソースファイルと混在させることはできますか?
- 8. CSSとASP.NETの.Skinファイルを混在させて一致させますか?
- 9. 異なるC++コンパイラのライブラリを混在させる
- 10. Mustache/Handlebars TemplatingとHAMLを混在させるのは良い考えですか?
- 11. Linux用のコードで異なるバージョンのライブラリを混在させる
- 12. WebFormとMVCが1つのプロジェクトで混在しているのと同じソリューションの2つのプロジェクトで分離されている
- 13. 混在したC#とVB.NETプロジェクトのUAC
- 14. が混在Cとのpthreadライブラリと
- 15. 一つのクラスでattr_accessorとinitializeメソッドを混在
- 16. Firebaseで特定のデータタイプを混在させることはできますか?
- 17. C#とVB.NETプロジェクトを混在させる= "Go to definition"
- 18. Boostをインストールせずに個々のBoostライブラリでコンパイルする
- 19. 同じプロジェクトでClojureScriptとJVM-Clojureを混在させることはできますか?
- 20. 構成テーブルとレポートフィールドを1つのテーブルに混在させる
- 21. OOPと手続き型プログラミングをPythonに混在させること(あるいはプログラミングスタイルを混在させること)は大変ですか?
- 22. 1つのアプリケーションでUIKitとTVMLKitを混在させることはできますか?
- 23. スタティックライブラリと共有ライブラリの混在
- 24. 単一のHTAにVBScriptとJScriptを混在させることはできますか?
- 25. 2つのオーディオバッファを混在させたときのクリック/歪み
- 26. AngularJSとPHPフレームワークを混在させるべきですか?
- 27. std ::とboost :: 's :: bind :: interfunctionを混在させると問題が発生しますか?
- 28. OnIdiomとOnPlatformをXAML(Xamarin.Forms)で混在させることはできますか?
- 29. 2つのビデオを混在させますか?
- 30. boost :: filter_iterator - STLでどうすればいいですか?
標準の言語機能用のラッパークラスは作成しません。あなたはこれを行うことで何を得るのですか?セマンティクスは正確に定義されており、C++はクラスと型を提供しなければなりません。私は、コンパイラが壊れた時代はうまくいっていると思う。 – Jens
私はゲームエンジンを作成しており、基本機能のラッパークラスを提供することで、MyVectorクラスの実装をコードベースのどこでも変更することなく柔軟に変更できます。ですから、私はMyVectorの実装としてstl :: vectorを使い始めてから、eastlや他の何かを使いやすくすることができます。 – Jason
EASTLにつながった前提のいくつかは古くなっていますが、一部は有効です。標準委員会にはいくつかの議論があります。興味がある場合はhttps://groups.google.com/a/isocpp.org/forum/?fromgroups#!forum/sg14をご覧ください – Jens