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

相關文章
相關標籤/搜索