Разница между CC_REF_PTR_SAFE_RETAIN и CC_SAFE_RETAIN в cocos2D-x

0

В чем разница между CC_REF_PTR_SAFE_RETAIN и CC_SAFE_RETAIN в cocos2D-x? и когда их использовать?

  • 0
    Какую версию cocos2d-x вы используете? Я не могу найти CC_REF_PTR_SAFE_RETAIN ...
  • 0
    Я использую cocos2d-x v3.2, ... поиск заголовка, где объявлен CC_SAFE_RELEASE, вы найдете их другие. (CCRefPtr.h) спасибо :)
Теги:
cocos2d-x

1 ответ

1
Лучший ответ

CC_REF_PTR_SAFE_RETAIN позволяет вызывать CC_REF_PTR_SAFE_RETAIN retain() для объекта const cocos2d::Ref*, а CC_SAFE_RETAIN - для объектов non- const cocos2d::Ref*.

Например

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню