1

std::bind私はMSDNで何が何で、何のためにあるのかを調査していました(最終的には別の質問になるかもしれません): http://msdn.microsoft.com/en-us/library/bb982702.aspx

リストされているプロトタイプは次のとおりです。

template<class Fty, class T1, class T2, ..., class TN>
   unspecified bind(Fty fn, T1 t1, T2 t2, ..., TN tN);
template<class Ret, class Fty, class T1, class T2, ..., class TN>
   unspecified bind(Fty fn, T1 t1, T2 t2, ..., TN tN);

これは、2 つの理由で私を混乱させます。1) 最後に確認したところ、MSVC は可変個引数テンプレートを実装していませんでした。2) 私の質問:unspecifiedそこにある言葉はどういう意味ですか? (不特定の動作とは関係ないようです。)

4

3 に答える 3

1

戻り値の型が指定されていないということは、それが指定されていない型であることを意味しますbind標準では、返される型が標準で義務付けられている要件に準拠している限り、特定の型を から返す必要はありません。

の時点で、...VS がそれらを実装しているかどうかはわかりませんが、 については同じドキュメントが表示されboost::bind、可変長テンプレートをサポートせずに別のコンパイラでコンパイルされています... ドキュメントには、できると記載されていますさまざまなタイプの引数を渡すNことができますが、それは必ずしもそれを行う単一のテンプレートがあることを意味するわけではなく、1 項、2 項、... N 項テンプレートのセットとして実装できます。

ドキュメントは、実装方法の詳細ではなく、それを使用することで期待できる動作を示しています。

于 2011-10-28T22:16:53.460 に答える