用计数很巧妙也很方便,但大部分处理过程涉及指针,难免比较烦琐,也容易出错。针对这个问题,Cocos2d-x为我们准备了一系列辅助宏来简化代码,这些宏都包含在头文件“CCPlatform Macro.h”里。表2-2列出了与内存管理相关的宏。
表2-2 Cocos2d-x中与内存管理有关的宏
| 宏 | 描 述 |
| CC_SAFE_DELETE(p) | 使用delete操作符删除一个C++对象p,如果p为NULL,则不进行操作 |
| CC_SAFE_DELETE_ARRAY(p) | 使用delete[]操作符删除一个C++数组p,如果p为NULL,则不进行操作 |
| CC_SAFE_FREE(p) | 使用free()函数删除p,如果p为NULL,则不进行操作 |
| CC_SAFE_RELEASE(p) | 使用release()方法释放Cocos2d-x对象p的一次引用,如果p为NULL,则不进行操作 |
| CC_SAFE_RELEASE_NULL(p) | 使用release()方法释放Cocos2d-x对象p的一次引用,再把p赋值为NULL。如果p已经为NULL,则不进行操作 |
| CC_SAFE_RETAIN(p) | 使用reatin()方法增加Cocos2d-x对象p的一次引用。如果p为NULL,则不进行操作 |
本文介绍Cocos2d-x中用于简化内存管理的一系列宏,包括安全删除对象、数组及释放引用等实用功能,帮助开发者有效避免指针操作带来的潜在错误。
167

被折叠的 条评论
为什么被折叠?



