我目前在 C++ 中使用此代码来调用函数指针,如果它不为空(我有一些事件,如 onCreate、onDestroy 等,它们是可以分配的函数指针):
#define AssertiveCall(_fn, _args) \
{ \
if (_fn != nullptr) \
{ \
return (_fn##_args); \
} \
}
我想把它转换成一个模板,这样我仍然可以获得速记的好处,但没有#define macro
. 我怎么能做到?