DECLARE_DELEGATE_REVAL(FGameplayAttribute, FAttributeSignature); 

比如这里的代理

定义为FAttributeSignature AttributeSignature ;

 

 

但是可以不生命代理,直接声明

TBaseStaticDelegateInstance<FGameplayAttribute(), FDefaultDelegateUserPolicy>::FFuncPtr
它代表一个函数指针FGameplayAttribute(*)()
也就是说,这两个效果是一样的


然后可以使用C++中的语法
template<class T>
using TStaticFuncPtr = typename TBaseStaticDelegateInstance<T, FDefaultDelegateUserPolicy>::FFuncPtr;

最终的效果就是该代理被
TStaticFuncPtr <T>所代替,增加了复用性



posted on 2025-09-11 16:38  偷懒的阿贤  阅读(12)  评论(0)    收藏  举报