#define HX_DEFINE_DYNAMIC_FUNC0(class,func,ret) \
Dynamic __##class##func(hx::Object *inObj) \
{ \
ret reinterpret_cast<class *>(inObj)->func(); return Dynamic(); \
}; \
Dynamic class::func##_dyn() \
{\
return hx::CreateMemberFunction0(this,__##class##func); \
}
上面的 CreateMemberFunction0 是一个保存函数信息的结构。函数 __##class##func 可能在某个时间点被执行,其结果被传递给相关代码。但是,我对此感到困惑,因为函数的执行似乎返回了一个名为 Dynamic? 的函数的执行?Dynamic 也是 hxcpp/haxe 的一个类(对于那些不熟悉的人)。
- Dynamic() 是函数的执行还是对象堆栈上的无参数构造?
- ret 关键字是什么?
- 如果1是正确的,那么函数的执行结果是如何传递的?