说您有:
struct c_struct {
int value;
/* other stuff */
void (* dump)();
};
并且您希望在某个时候:
c_struct_obj->dump();
我假设您无法实例化c_struct对象,以使其特定的“转储”函数以C++方法了解成员变量的方式(通过我想为隐式“this”)知道其特定的“值”?我想我已经知道答案了(“否”)。如果是这样,还有其他以OOPy方式使用C结构的方法吗?
最佳答案
当然,您只需要自己传递this
:
struct c_struct {
int value;
/* other stuff */
void (* dump)(struct c_struct *this);
};
然后调用:
c_struct_obj->dump(c_struct_obj);
关于c++ - 仅使用C结构并保持OOPy?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3971554/