您的位置:首页 > 其它

return的优势到底在哪里

2013-11-28 10:58 141 查看
举例说明
void test() {

    CCSprite* t_pSpActor = CCSprite::create("123.png");

    CCSprite* t_pSpMonster = CCSprite::create("monster.png");

    t_pSpMonster->retain();

}
这个方法调用完毕以后,t_pSpActor 会被释放掉,而 t_pSpMonster 则不会被释放
cocos2d-x 对象引用计数的功能是如何实现的?
顺便问一下什么是智能指针,最好附带一个使用智能指针的常用情景。

CCSprite* test() {

    CCSprite* t_pSpActor = CCSprite::create("123.png");

    CCSprite* t_pSpMonster = CCSprite::create("monster.png");

    return t_pSpMonster;

}
方法调用完毕后,t_pSpActor 会被释放,而 t_pSpMonster 也不会被释放

string testStr() {

    string t_oStr("i love cpp!");

    return t_oStr;

}
而且,对于常规分配在栈上面的对象,return 后 t_oStr 也不会被释放掉

最后的最后,如果方法中包含了一个 const 修饰的 int,这个方法在反复调用的时候是否会重复定义此 const int 型变量?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: