C ++ 0xが主流になると、boostの重複部分はどうなりますか?

StackOverflow https://stackoverflow.com/questions/405175

  •  03-07-2019
  •  | 
  •  

質問

C ++ 0xが主流になった後、ブーストのオーバーラップ部分で何が起こりますか?

これまで使用していたものがすべてブーストされますか、それともライブラリを新しいstd :: stuffで更新するように適応しますか?

boostには、通常のc ++バージョンと、保守するc ++ 0xバージョンの両方がありますか?

役に立ちましたか?

解決

いくつかの理由で、Boostが既存のクラスを引き続きサポートすることを希望します。

最初に、しばらくの間、サポートする必要があるBoostの重複する機能を使用するコード本体があります。

次に、重複する実装により、使用したいものを選択できます。私のプロジェクトにとって重要なstd :: FrobとBoost :: Frobにはいくつかの違いがあるかもしれません。選択できるのは良いことです。

ただし、長期的には、アプリケーションライターとツールプロバイダーの両方から標準への移行が期待されます。そのため、std ::。を使用する方がリスクが少なくなります。

他のヒント

私はBoostと提携しておらず、彼らが何をするのか彼らには分かりませんが、Boostはそのまま残されているようです。

既にTR1(VS 2008機能パック)がリリースされており、Boostは変更されていません。多くのユーザーはまだBoostまたはTR1を採用していないため、少なくとも5年間はboostとc ++ 0xライブラリが異なる名前空間に存在し、C ++ 0xユーザーとC ++ユーザーが利用できると予測しています。

名前空間により、これはBoost開発者にとっては多少問題になりません。ブーストライブラリと標準ライブラリは別の名前空間に存在するため、それらの間には直接的な競合はありません。したがって、名前空間stdの変更(std :: tr1の追加など)は、Boostに直接影響しません。

ただし、両方のライブラリ(stdおよびboost)をグローバル名前空間にインポートする場合、問題が発生することに注意してください。

Boost TR1ドキュメントからの次の引用も、BoostのTR1コンポーネントの実装に関するいくつかの光を放ち、対応するBoostライブラリが近い将来維持されることを示唆しています。

  

TR1ライブラリは、   C ++テクニカルの実装   標準ライブラリ拡張機能に関するレポート。   このライブラリ自体は実装しません   TR1コンポーネントではなく、薄い   を含むラッパー   標準ライブラリのTR1実装   (ある場合)、そうでない場合は   Boostライブラリに相当するものを含め、   それらを名前空間std :: tr1にインポートします。

tr1のことですか?

Boostはすでにtr1をサポートしています。 この名前空間では、std :: tr1に採用されているboostのすべてのクラスが利用できます。次のドキュメントを参照してください。

http://www.boost.org/doc /libs/1_37_0/doc/html/boost_tr1.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top