我想制作一个能够在运行时覆盖方法的插件系统。
一些答案说函数指针,但是定义的函数或类呢?
像这样:
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/