Folioscope

プログラミング/Unix系/デザイン/CG などのメモがもりもり

constなメンバ関数の関数ポインタ

次のようなクラスの宣言があります.

class MyClass {
public:
  void nonconstFunc() {}; 
  void constFunc() const {}; 
};

const修飾子がついていないメンバ関数nonconstFunc()と,const修飾子がついているconstFunc()が宣言されています.

const修飾子がついていないメンバ関数の関数ポインタは,調べればよく出てきます.

void (MyClass::*func1)() = &MyClass::nonconstFunc;

const修飾子がついているメンバ関数の関数ポインタは,調べれば出てこなかったのでメモ.

void (MyClass::*func2)() const = &MyClass::constFunc;