cocos2D-x中CC_REF_PTR_SAFE_RETAIN和CC_SAFE_RETAIN有什么区别?什么时候使用它们?
答案 0 :(得分:1)
CC_REF_PTR_SAFE_RETAIN
允许在retain()
对象上调用const cocos2d::Ref*
,而CC_SAFE_RETAIN
仅适用于非const
cocos2d::Ref*
个对象。
E.g。
cocos2d::Ref* obj = <some object>;
const cocos2d::Ref* kObj = <some constant object>;
CC_SAFE_RETAIN(obj); // OK
CC_SAFE_RETAIN(kObj); // Member function 'retain' not viable: 'this' argument has type 'const cocos2d::Ref', but function is not marked const
CC_REF_PTR_SAFE_RETAIN(obj); // OK
CC_REF_PTR_SAFE_RETAIN(kObj); // OK