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 型变量?
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 型变量?
相关文章推荐
- 一道面试题:C++相比C#或者java的优势到底在哪里
- 职业测评结果--呈现开花板状--自己的优势到底在哪里?
- oracle的优势到底在哪里?
- 转载:Linux Used内存到底到哪里去了?
- 工作经验到底是个什么东东?工作经验从哪里来?
- 无穷小微积分的优势究竟在哪里??
- [zz]Linux Used内存到底哪里去了?
- 辛丑条约到底签了什么, 七七事变的日军从哪里来
- 到底应该把网站放在哪里?
- SEOer未来之路到底在哪里?
- 工作经验到底是个什么东东?工作经验从哪里来?
- 三迅网络 网站建设 优势在哪里呢?
- B/S软件超越C/S软件的优势在哪里?(转贴)但是不代表本人同意该文的观点,只不过想了解一些b/s的优势
- [转]程序员:差距在哪里,你与开发高手的距离到底有多远?
- 飞康与红帽到底哪里像?软件定义存储让飞康走得更远!
- 工作经验到底是个什么东东?工作经验从哪里来?
- java项目中Classpath路径到底指的是哪里?
- REST的主要优势到底是什么?
- Java finally语句到底是在return之前还是之后执行?
- Java finally语句到底是在return之前还是之后执行?