#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.Что делает ret reinterpret_cast?
- Является ли динамическим() выполнение функции или это конструкция без аргументов в стеке объекта?
- Что такое ключевое слово ret?
- Если 1 правильно, как результат выполнения функции передан?
Это макрос, который расходуется на функцию. 'ret' - это не ключевое слово, а параметр, переданный макросу. –
Не могу поверить, что я этого не видел :(Sry! – MetaChrome
http://en.cppreference.com/w/cpp/language/reinterpret_cast –