1、cocos2d::Vector
1、头报价"CCVector.h"头文件。
2、保存的数据类型必须是cocos2d::Ref的子类。
3、实现是动态加入数据集合即链表。主要的使用方法 说明一下加入节点时,节点会被retain,删除节点时会被resase。
自己实现了内存管理
Vector<Sprite*> vector; //声明 auto sp0 = Sprite::create(); vector.pushBack(sp0); //加入节点 vector.pushBack(sp0); vector.pushBack(sp0); //工加入了三个节点 int length = vector.size(); //获取节点个数 vector.erase(vector.begin()+1); //删除第二个节点 vector.begin()为開始节点 vector.clear(); //删除全部节点4、说明下std::vector,基本使用跟cocos2d::Vector差点儿相同,主要有以下却别,一个V大写一个v小写,td::vector引用头文件
#include "vector",只是std::vector,加入节点时不会retain,删除时也不会resase。可是它能够存不论什么类型比方:int、string等。
2、cocos::Map
1、引用头文件"CCMap.h"头文件。
2、他们是数据key、value相应集合,key能够是随意类型,value必须是cocos2d::Ref的子类。
3、基本用法 加入节点时,value节点会被retain,删除节点时value会被resase
Map<int,Sprite*> tage; //声明 auto sp0 = Sprite::create(); tage.insert(0,sp0); //加入节点 tage.size();// 获取节点个数 (Sprite*)(tage.at(0)); //依据key获取value tage.erase(0); //依据key删除value tage.clear(); //删除全部4、遍历全部节点
std::vector<int> mapKeyVec; mapKeyVec = tage.keys(); for(auto key : mapKeyVec) { <span style="white-space:pre"> </span>tage.at(key); }
版权声明:本文博客原创文章,博客,未经同意,不得转载。
时间: 2024-10-09 03:59:46