c++ - 是否可以在运行时替换方法?

标签 c++ function-pointers

我想制作一个能够在运行时覆盖方法的插件系统。

一些答案​​说函数指针,但是定义的函数或类呢?

像这样:

class foo
{
  public:
    bar(int foobar);
}

有没有办法获取或替换它的函数指针?

顺便说一句, Hook 不被认为是一个答案,因为它非常特定于平台并且很危险。

最佳答案

要制作插件系统,您不需要在运行时替换类的方法。

您可以使用 polymorphism 替换该方法的作用或任何其他配置对象的方式。

查看以下问题的答案:What's safe for a C++ plug-in system?

关于c++ - 是否可以在运行时替换方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29645454/

相关文章:

C++ - 暂停程序直到按下某个键

c++ - Lua 到 C++,用于实体修改的实例化函数

python - Python函数指针的类型

C++ "simple"具有任意参数和返回值的函数的函数回调

c++ - 根据类私有(private)成员对包含类的列表进行排序

c++ - 链接器错误,在 ubuntu 15.04 上使用 OpenCV 和 Eclipse CDT

c++ - 为什么指向函数的指针的值是1

c - C中主下标值错误

c++ - 在 Win32 上,我可以在一段时间内禁用窗口绘制吗?

c - 初始化函数指针的全局数组