所以我通过使用'class'结构和typedef
'd'实例'结构创建一个简单的小堆栈,一直在修改C中的面向对象。类结构只是充满了函数指针,它们操作指向实例结构的指针。当我第一次使用它时,我对自己说:“当我初始化实例结构时,我将只绑定指针!”您可能猜测这不起作用,因为我的初始化函数实际上是一个尚未分配值的指针。
(目前差不多早上5点 - 比睡觉时间更接近唤醒时间)
所以,我问是否有任何方法可以有效地绑定运行时的函数指针,这样我就不需要显式调用绑定它们的函数 - 我想的可能是某些对应的{{ 3}}
答案 0 :(得分:2)
如果'class'结构始终相同,则可以静态初始化它:
void do_x_to_instance(instance *);
struct class_type {
void (*do_x)(instance *);
...
} myclass = {
&do_x_to_instance,
...
};
这就是Python C API如何定义扩展类型,例如。