Cocos2d-x学习之---关于一些宏
CC_PROPERTY更适用于快速声明一个值属性,而CC_SYNTHESIZE更适合于声明一个对象。原因在于CC_SYNTHESIZE提供的默认set没有做合法性检测;
这些方法的声明都是virtual的,所以它们的效率不是很高;
CC_PROPERTY的get方法没有对函数体声明const修饰符;
在CC_SYNTHESIZE方法之后直接声明函数或者变量都会变成public;
CREATE_FUNC,自动生成一个默认的静态create方法;
安全析构的一些宏:
CC_SAFE_DELETE(p),当p不为NULL,delete p并且将p赋值为NULL;
CC_SAFE_DELETE_ARRAY(p)
CC_SAFE_FREE(p)
CC_SAFE_RELEASE(p),当p不为NULL,p->release();
CC_SAFE_RELEASE_NULL(p),当p不为NULL,p->release(),并且将p赋值为NULL;
CC_SAFE_RETAIN(p),当p不为NULL,p->retain();
两个变量进行交换的宏:
CC_SWAP(x,y,type);