は、ほぼ完全std::function
に移動しても同じことがboost::shared_ptr
C++ 11標準はboost :: anyのようなものを提供していますか?たとえば<code>boost::function</code>ため
であるしかし、私はstd::any
を見つけることができませんか? 名前が変更されたのは何ですか?
は、ほぼ完全std::function
に移動しても同じことがboost::shared_ptr
C++ 11標準はboost :: anyのようなものを提供していますか?たとえば<code>boost::function</code>ため
であるしかし、私はstd::any
を見つけることができませんか? 名前が変更されたのは何ですか?
boostからのすべてのライブラリが標準になるわけではありません(コンポーネントが削除されている可能性もあります)。一般的には、標準ライブラリに追加することについては、かなり控えめです(これは、より良い選択肢があるために、ミスを含んでいれば後で削除することは不可能です)。
boost::function
およびboost::shared_ptr
ここでは、すでにtr1
の部分が含まれているため、かなり多く含まれています。一方、boost::any
はカットを作成しませんでした。しかし、後の標準ライブラリ(例えば、次の技術報告書のhere参照)に含まれる可能性があります。 boost::any
はいいですが、私はそれを非常に重要なものとして評価しません。 shared_ptr
。
結論:boost::any
は、委員会が
) )も標準化されており、C++ 17に登場します。 –
それを含むように任意の差し迫った必要性を見ていないので、私はデフォルトの位置は、ライブラリが含まれないであろうということだったと思う、C++ 11の一部ではありませんそれが含まれるように提出されてから委員会に合格しなければ、
boost :: anyが送信されたかどうかはわかりません。おそらくそうではありません。しかし、あなたはまだboost :: anyを使うことができます。
私の推測では、C++ 11のブーストライブラリは書き直され、一部は重複していると見なされ、その他は移動セマンティクス、イニシャライザリスト、オートを使用して変更され、C + +11の機能
ほとんどすべての新しいライブラリはC++ 11になりますが、既存のブーストパッケージは、C++ 11コンパイラにまだ切り替えられていないので、しばらく利用可能になります。私は、すべてのメインコンパイラによって実装されているC++ 11の機能だけが、最初はパッケージに入っていくものと推測します。
これはおそらくstackoverflowよりもプログラマーにとっては疑問であり、comp.std.C++のメーリングリストとメーリングリストの方が優れています。
質問がありましたので、私たちはoptionalの機能をC++ 14標準から抜粋してstd :: experimental :: anyに向けて進めました。
GCC 5.1では少なくともimplementedでした。
この機能はその後C++で標準化され、std::anyになりました。限定された既知の型のいずれかを保持する型セーフな共用体の場合は、C++ 17のstd::variantも参照してください。空の場合(tipのおかげでremy-lebeauになります)。
['std :: variant'](http://en.cppreference.com/w/cpp/utility/variant)(' boost :: variant'に似ています。 –
STD ::任意のは、最近のC++ 17標準に受け入れられた:ブーストで
号(フィラー) –
ていないすべてのものは、しかし、何がそれを使用してからあなたを防ぐないはstdに移動されましたブースト中。私はいくつかのブーストライブラリがC++ 11用に書き直されているかもしれないと思っています。 – CashCow