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

在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等基本数据类。

转载于:https://my.oschina.net/Jacedy/blog/300875

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值