Cocos2d-x 中与内存管理有关的宏
2015-08-16 14:53
337 查看
引用计数很巧妙也很方便,但大部分处理过程涉及指针,难免比较烦琐,也容易出错。针对这个问题,Cocos2d-x 为我们准备了一系列辅助宏来简化代码,这些宏都包含在头文件”CCPlatform Macro.h”里。下面列出了与内存管理相关的宏。
1. CC_SAFE_DELETE(p)
使用 delete 操作符删除一个 C++对象 p, 如果 p 为 NULL,则不进行操作。
2. CC_SAFE_DELETE_ARRAY(p)
使用 delete[]操作符删除一个 C++数组 p,如果 p 为 NULL,则不进行操作。
3. CC_SAFE_FREE(p)
使用 free()函数删除 p,如果 p 为 NULL,则不进行操作。
4. CC_SAFE_RELEASE(p)
使用 release()方法释放 Cocos2d-x 对象 p的一次引用,如果 p 为 NULL,则不进行操作。
5. CC_SAFE_RELEASE_NULL(p)
使用 release()方法释放 Cocos2d-x 对象 p 的一次引用,再把 p 赋值为 NULL。
如果 p 已经为 NULL,则不进行操作。
6. CC_SAFE_RETAIN(p)
使用 reatin()方法增加 Cocos2d-x 对象 p 的一次引用。如果 p 为 NULL,则不进行操作。
1. CC_SAFE_DELETE(p)
使用 delete 操作符删除一个 C++对象 p, 如果 p 为 NULL,则不进行操作。
2. CC_SAFE_DELETE_ARRAY(p)
使用 delete[]操作符删除一个 C++数组 p,如果 p 为 NULL,则不进行操作。
3. CC_SAFE_FREE(p)
使用 free()函数删除 p,如果 p 为 NULL,则不进行操作。
4. CC_SAFE_RELEASE(p)
使用 release()方法释放 Cocos2d-x 对象 p的一次引用,如果 p 为 NULL,则不进行操作。
5. CC_SAFE_RELEASE_NULL(p)
使用 release()方法释放 Cocos2d-x 对象 p 的一次引用,再把 p 赋值为 NULL。
如果 p 已经为 NULL,则不进行操作。
6. CC_SAFE_RETAIN(p)
使用 reatin()方法增加 Cocos2d-x 对象 p 的一次引用。如果 p 为 NULL,则不进行操作。
相关文章推荐
- Cocos2d-x中背景音乐和音效使用实例
- Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验
- Cocos2d-x UI开发之CCControlPotentiometer控件类使用实例
- C/C++ 宏详细解析
- Cocos2d-x UI开发之文本类使用实例
- Cocos2d-x保存用户游戏数据之XML文件是否存在问题判断方法
- Cocos2d-x UI开发之菜单类使用实例
- Cocos2d-x UI开发之CCControlButton控件类实例
- Cocos2d-x学习笔记之世界坐标系、本地坐标系、opengl坐标系、屏幕坐标系
- 深入探讨:宏、内联函数与普通函数的区别
- Cocos2d-x UI开发之CCControlColourPicker控件类使用实例
- Cocos2d-x学习笔记之CCLayerColor层的使用实例
- Cocos2d-x Schedule定时器的使用实例
- C++十六进制宏的用法详解
- Cocos2d-x中使用CCScrollView来实现关卡选择实例
- Cocos2d-x中CCEditBox文本输入框的使用实例
- cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍
- C++基础入门教程(二):数据、变量、宏等
- Cocos2d-x UI开发之CCControlSlider控件类使用实例
- 枚举和宏的区别详细解析