文档章节

cocos2d-x3.0中数据类型vector,map、value

_子墨
 _子墨
发布于 2014/08/13 19:44
字数 348
阅读 677
收藏 0

在3.0中,已经不再使用以前的ccarray,ccdictionary,ccint等从以前的oc继承过来的数据类型,转而加入了自己的数据结构,更加符合c++的开发习惯和思考模式,其中就包括了vector,map和value这三种。今天刚好自己研究了相关的源代码,可以结合分析下。

vector就相当于以前的ccarray,对c++的vector做了适当的包装,在一些赋值,释放等相关操作加入了引用计数相关的内存释放操作,使得我们在使用不再需要自己添加retain,release,autorelease等方法。在诸如与所添加对象相关的如insert,push_back,构造函数中加入了retain()方法,而在与删除对象相关的的popback,erase,析构函数等方法中加入release方法,进行计数的减1。从而即能够利用c++标准库的vector带来的使用便利和效率提升,更加符合c++开发者的习惯,也满足了对与内存管理的需要,减少了内存泄漏的可能性。

map相当于ccdictionary,由于map采用的pair作为底层的结构,固为键值对的形式存在,其中包含了一些关于键值的操作。

value相当于以前的ccint、ccfloat、ccchar等基本数据类。

© 著作权归作者所有

上一篇: 事件分发机制
下一篇: Lambda表达式解析
_子墨
粉丝 48
博文 157
码字总数 141425
作品 0
深圳
iOS工程师
私信 提问
Cocos2d-x3.0模版容器详解之三:cocos2d::Value

1.概述 版本: v3.0 beta 语言: C++ 定义在 “COCOS2DXROOT/cocos/base” 路径下的 "CCValue.h" 的头文件中。 class Value; unioncocos2d::Valie 是一个包含了很多原生类型(int,float,dou......

_子墨
2014/08/15
441
0
Cocos2d-x3.0模版容器详解之二:cocos2d::Map

1.概述 版本: v3.0 beta 语言: C++ 定义在 “COCOS2DXROOT/cocos/base” 路径下的 "CCMap.h" 的头文件中。 ? cocos2d::Map<K,V> 是一个内部使用了 std::unorderedmap的关联容器模版。 std::u......

_子墨
2014/08/15
99
0
Cocos2d-x3.0模版容器详解之一:cocos2d::Vector

1.概述 版本:v3.0 beta 语言:C++ 定义在 “COCOS2DXROOT/cocos/base” 路径下的 "CCVector.h" 的头文件中。 ? cocos2d::Vector<T> 是一个封装了动态大小的数组的顺序型容器。 它的元素是连...

_子墨
2014/08/15
111
0
Cocos2d-x3.0游戏实例《别救我》目录

这个5.1假期还真不错,有个小惊喜,那就是,我某个游戏今天的下载量爆表了,突破历史最高点~! 于是,我决定写一个新的游戏实例教程,以示庆祝~ 啊才怪啊~!这教程5.1之前就在写了,我还因此...

musicvs
2014/05/07
0
0
【2dx】使用2dx 3.0 制作打地鼠游戏(第一部分)

此教程来自于子山龙人的cocos2d版本 http://www.cnblogs.com/zilongshanren/archive/2011/05/15/2045784.html 子山龙人的教程是属于cocos2d版本的 现在边学学做成cocos2d-x3.0版本 本例子的g...

包灬子
2014/05/03
926
0

没有更多内容

加载失败,请刷新页面

加载更多

防止流量劫持有效途径-安装SSL证书

  在互联网的世界里,流量就等于金钱。而流量劫持是指,利用各种恶意软件、木马病毒,修改浏览器、锁定主页或不停弹出新窗口等方式,强制用户访问某些网站,从而造成用户流量损失的情形。 ...

安信SSL证书
6分钟前
2
0
关于工作流程数据模版的设置与使用.

关键字:ccbpm数据模版 解释说明:数据模版就是当前工作人员历史发起的历史流程里,把一些具有代表性的设置为模版,下次在启动流程的时候,选择模版里的数据在发起流程,避免重复数据录入的工...

ccflow周朋
20分钟前
4
0
第一个只出现一次的字符

处理字符串中重复或者次数出现等问题,最常用的就是哈希表,用字符串中的字符作为key,字符出现次数作为value,假定只有ASCII码范围内的字符,则可以开辟一个256大小的int数组,将每个字符(...

Garphy
20分钟前
4
0
通过构建区块链来学习区块链-1-Transaction|Block|POW

原文链接:https://medium.com/@vanflymen/learn-blockchains-by-building-one-117428612f46 交易Transaction 区块Block 工作量证明 你来这里是因为,和我一样,你对加密货币的崛起感到兴奋。...

Riverzhou
27分钟前
4
0
大数据最核心的关键技术——32个算法,记得收藏!

奥地利符号计算研究所的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结...

大数据金罗
今天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部