首页 > 其他 > 详细

Cocos2d-x 笔记

时间:2014-09-15 13:03:09      阅读:238      评论:0      收藏:0      [点我收藏+]

1、工厂方法 是程序设计中一个经典的设计模式,指的是基类中只定义创建对象的接口,将实际的实现推迟到子类中。在这里,我们将它稍加推广,泛指一切生成并返回一个对象的静态函数。一个经典的工厂方法如同这样:

CCObject* factoryMethod() 
{  
    CCObject* ret = new CCObject();  
    //这里对ret对象进行必要的初始化操作  
    ret->autorelease();  
    return ret;  
}


2、关于对象传值

将一个对象赋值给某一指针作为引用的时候,为了遵循内存管理的原则,我们需要获得新对象的引用权,释放旧对象的引

用权。此时,release()和retain()的顺序是尤为重要的。当other和object实际上指向同一个对象时,第一个release()可能会触发该对象的回收,这显然不是我们想看到的局面,所以应该先执行retain()来保证other对象有效,然后再释放旧对象:

void SomeClass::setObject(CCObject* other) 
{  
    other->retain();  
    this->object->release();  
    this->object = other;  
}


3、

Cocos2d-x 笔记

原文:http://my.oschina.net/Jacedy/blog/313635

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!