'绑定'功能指针加载

时间:2012-07-20 08:56:16

标签: c function function-pointers

所以我通过使用'class'结构和typedef'd'实例'结构创建一个简单的小堆栈,一直在修改C中的面向对象。类结构只是充满了函数指针,它们操作指向实例结构的指针。当我第一次使用它时,我对自己说:“当我初始化实例结构时,我将只绑定指针!”您可能猜测这不起作用,因为我的初始化函数实际上是一个尚未分配值的指针。

(目前差不多早上5点 - 比睡觉时间更接近唤醒时间)

所以,我问是否有任何方法可以有效地绑定运行时的函数指针,这样我就不需要显式调用绑定它们的函数 - 我想的可能是某些对应的{{ 3}}

1 个答案:

答案 0 :(得分:2)

如果'class'结构始终相同,则可以静态初始化它:

void do_x_to_instance(instance *);
struct class_type {
    void (*do_x)(instance *);
    ...
} myclass = {
    &do_x_to_instance,
    ...
};

这就是Python C API如何定义扩展类型,例如。