2017-10-31 11 views

答えて

6

メンバー関数へのポインタです。特に:

R (F::* mf)(const SemanticValues& sv) const 

  • * mf次のとおりです。(名前がコメントアウトされて)...
  • F::mfという名前のポインタ:... Fのメンバ関数への...
  • const SemanticValues& sv:const参照を受け入れるSemanticValues ...
  • R:... R ...
  • constの値を返します。それ自体はconstです。
+0

'make_adaptor'メソッドのこの実装は2番目のパラメータを使用しないので、その名前はコメントアウトされました(警告を避けるため)。 – Swift

+0

TypeAdaptorは構造体名で、TypeAdaptor (fn)はConstructorを明示的に呼び出します。 make_adaptorの戻り値の型は、typedefとして定義されたFtyです。std :: function Fty; – freyone

+0

これは別の質問ですが、簡単に言えば、 'std :: function'は暗黙のテンプレート変換コンストラクタを持っています。これにより、正しいシグネチャを持つファンクタを自動的に' std :: function'に変換できます。それは[(5)このcppreferenceページで](http://en.cppreference.com/w/cpp/utility/functional/function/function)です。 typedefの 'Fty'は単なる略記であり、関連する型について何も変更しません。 – Thomas

関連する問題