【问题标题】:How do I Declare a Method Pointer That's Constant如何声明一个恒定的方法指针
【发布时间】:2019-04-19 15:03:17
【问题描述】:

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

给定:

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

我可以用void (foo::*bar)() = &foo::func1 构造一个方法指针但是我可以稍后再做bar = &foo.func2,我想防止这种情况发生。

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

【问题讨论】:

标签: c++11 c++ constants function-pointers c++03 member-function-pointers


【解决方案1】:

您所要做的就是在* 之后添加const 关键字,如下所示:

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

【讨论】:

    猜你喜欢
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多