如何声明一个常量的方法指针

How do I Declare a Method Pointer That's Constant

1st off 这不是关于如何指向常量方法的问题。我想知道如何使我的方法指针保持不变。

鉴于:

struct foo {
    void func1();
    void func2();
};

我可以用 void (foo::*bar)() = &foo::func1 构造一个方法指针 但是 我可以稍后做 bar = &foo.func2 我想阻止它。

我可以用 const auto bar = &foo::func1 轻松做到这一点,但我不确定如何在 之前做到这一点。

你所要做的就是在*之后添加const关键字,像这样:

void(foo::*const _pointer)() = &foo::func1;