1. 创建对象实例的方式比较
一般C++对象创建代码:
Object *obj = new Object(arg1, arg2);
delete obj;
一般C++对象在其构造函数中完成初始化操作,同时new出来的对象需要自己负责释放。
cocos2d-x中对象创建代码:
Object *obj = Object::create();
cocos2d-x中通过调用类的静态函数create()返回对象的指针,new出的对象由cocos2d-x自己的内存管理机制负责释放,因此不用担心内存释放问题。create()函数一般有三个操作:
1)创建对象,构造函数中不包含复杂逻辑,仅仅只负责初始化成员变量。
2)调用对象的初始化函数,如init()、initWithXX()等,返回bool值标识初始化是否成功。
3)调用对象继承自基类Ref的函数autorelease(),交由cocos2d-x负责内存的释放。 </