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

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

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

相关文章
相关标签/搜索