Cocos2d-x 容器(一)
2016-04-19 17:34
309 查看
容器简介:
版本变更:
在3.0版本之前Cocos2d-x引擎为我们提供了CCArray、CCDictionary等OC风格的容器。
3.0版本之后Cocos2d-x采用cocos2d::Vector<T>代替cocos2d::Array;
采用cocos2d::Map代替cocos::CCDictionary;
采用Value代替原来2.x版本的CCInteger、CCFloat。
使用Cocos2d-x容器的原因:Cocos2d-x的内存管理。
Cocos2d-x的内存管理采用引用计数器机制,也就是说程序中对象的创建和删除必须是一对retain()和release()或者autorelease().
如果直接使用STL容器,开发者要花费大量的精力和时间进行繁琐重复的内存管理操作,为了便面这种现象的发生,方便开发者,Cocos2d-x 对这个内存管理操作进行了封装-->容器。容器保证了对象在存取过程中总是符合引用计数器内存管理机制。
接下来我会分别对Vector、Map、Value做详细的解说。
版本变更:
在3.0版本之前Cocos2d-x引擎为我们提供了CCArray、CCDictionary等OC风格的容器。
3.0版本之后Cocos2d-x采用cocos2d::Vector<T>代替cocos2d::Array;
采用cocos2d::Map代替cocos::CCDictionary;
采用Value代替原来2.x版本的CCInteger、CCFloat。
使用Cocos2d-x容器的原因:Cocos2d-x的内存管理。
Cocos2d-x的内存管理采用引用计数器机制,也就是说程序中对象的创建和删除必须是一对retain()和release()或者autorelease().
如果直接使用STL容器,开发者要花费大量的精力和时间进行繁琐重复的内存管理操作,为了便面这种现象的发生,方便开发者,Cocos2d-x 对这个内存管理操作进行了封装-->容器。容器保证了对象在存取过程中总是符合引用计数器内存管理机制。
接下来我会分别对Vector、Map、Value做详细的解说。
相关文章推荐
- cocos2d 使用 C++开发游戏 出现#include "CardSprite.h" 无法引入源文件的情况。
- Cocos2d-x 如何播放动画
- cocos2dx 调用java 代码
- cocos studio 3.10点击在windows平台运行报错 在windows平台运行 返回值1
- cocos2dx 安卓makefile Android.mk,动态引用cpp地址
- cocos2dx学习之旅
- cocos内存泄漏以及优化问题
- git和cocos2dx基本配置
- cocos2dx 简介
- Cocostudio使用简介
- 笨木头 Little Runner
- cocos2dx 3.x 图层点击鼠标事件的屏蔽
- cocos笔记
- cocos2dx3.0 removeFromParent和removeAllChildren含义
- cocos2d坐标转换
- cocos2dx读取excel文件
- win8下cocos2d-x 3.0+vs2012环境配置及项目创建
- 【Cocos2d-x游戏开发】浅谈游戏中的坐标系
- opengl之vsh、fsh简易介绍+cocos2dx 3.0 shader 变灰
- cocos2d-x 3.0 WIN7+VS2012 安卓平台搭建