如何声明一个常量的方法指针
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
轻松做到这一点,但我不确定如何在 c++11 之前做到这一点。
你所要做的就是在*
之后添加const
关键字,像这样:
void(foo::*const _pointer)() = &foo::func1;
1st off 这不是关于如何指向常量方法的问题。我想知道如何使我的方法指针保持不变。
鉴于:
struct foo {
void func1();
void func2();
};
我可以用 void (foo::*bar)() = &foo::func1
构造一个方法指针 但是 我可以稍后做 bar = &foo.func2
我想阻止它。
我可以用 const auto bar = &foo::func1
轻松做到这一点,但我不确定如何在 c++11 之前做到这一点。
你所要做的就是在*
之后添加const
关键字,像这样:
void(foo::*const _pointer)() = &foo::func1;