4

ここで「functionoid」の説明を読みました。それらは、Boost::function と Boost::bind の貧乏人のバージョンのように見えます。何か不足していますか?すでにブーストを使用している場合、それらを使用する正当な理由はありますか?

4

2 に答える 2

3

私の投票は tr1::function に行きます。

FunctorまたはFunctionoidtr1/boost::functionは、そこから進化したベースを表します。共通インターフェイス ファンクターの制限は、それらが異なる型を表し、テンプレート関数にのみ渡すことができるため (派生元の基本クラスを提供しない限り)、OO パラダイムを破ることです。

実際、型消去テクニック tr1::functionを使用することで、この制限が克服されます。これらは、動的戦略クラスを実装するために最もよく使用されます。

于 2008-11-04T10:25:24.487 に答える
2

いいえ。

または、こちらの FQA の回答を参照してください

于 2008-11-03T06:50:36.057 に答える