質問内容
汎用ファンクタの実装について「Modern C++ Design」という書籍のライブラリを参考に勉強していたところ理解できないコードに当たりました。
そのコードに関しての質問です。
ローカル関数を汎用ファンクタの引数として渡しているコードなのですが、
ローカル関数の引数に(new インスタンス名)と宣言だけされたものを渡していました。
この宣言だけされた関数を渡した場合の挙動をご教授願います。
該当のソースコード
template <class Fctor> typename Private::BinderFirstTraits<Fctor>::BoundFunctorType BindFirst ( const Fctor& fun, typename Fctor::Parm1 bound ){ // 汎用ファンクタ typedef typename Private::BinderFirstTraits<Fctor>::BoundFunctorType Outgoing; // // auto_ptr tricks // 以下の動きが分かりません std::auto_ptr<typename Outgoing::Impl> apParam ( new BinderFirst<Fctor>(fun, bound) ); return Outgoing(apParam); }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
Visual Studio 2017
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/05 12:07