容器简介:
版本变更:
在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做详细的解说。