は私が下の行に出くわした:私は前に、構文のこの種のを見たことがありませんこの構文は何を意味しますか。 (:: *)コードの一部をリファクタリングしながら
class Bar
{
protected:
int (Bar::* fooFunction)(float); //this line
}
。この構文は何ですか、なぜC++で使用されるのですか?
は私が下の行に出くわした:私は前に、構文のこの種のを見たことがありませんこの構文は何を意味しますか。 (:: *)コードの一部をリファクタリングしながら
class Bar
{
protected:
int (Bar::* fooFunction)(float); //this line
}
。この構文は何ですか、なぜC++で使用されるのですか?
メンバー関数ポインタです。
具体的には、それはfloat
引数をとり、int
を返すBar
オブジェクトのメンバー関数へのポインタです。
はもっとここで読む:http://en.cppreference.com/w/cpp/language/pointer#Pointers_to_member_functions
この構文
それは、メンバ関数へのポインタを宣言している何か。
なぜC++で使用されていますか?
これは、非静的メンバー関数を指すために使用されます。
メンバー関数へのポインタ。それがなぜ使われているかに関しては、クラスが何をすることになっているかによって異なります。 –
あなたの好きな検索エンジンのLookupメンバー関数のポインタ。 http://en.cppreference.com/w/cpp/language/pointerから開始できます。 –