转载请注明来自:star特530的博客 http://blog.csdn.net/start530/article/details/19170853
前两天有人问我说在3.0 beta2版本号里,使用array 后编译出错,事实上是由于自beta版本号開始,已没有Array,取而代之的是容器:Vector 和 Map
先说Vector吧。 假设说C++的vector容器怎么用,假设我说太多肯定一下子就暴露了我菜鸟的身份。所以呢,在这里只是多阐述,也请大神绕路。 所以,还是回到Vector的使用问题上吧。该怎么用?既然Vector是替代了Array,那就拿Array 和Vector进行对照吧。 以下我就以创建 Sprite 精灵对象的容器为例介绍吧 1、创建先创建两个精灵:
[cpp] view plain copy auto sp1 = Sprite::create("CloseNormal.png"); sp1->setPosition(Point(100,100)); this->addChild(sp1,1); auto sp2 = Sprite::create("CloseSelected.png"); sp2->setPosition(Point(100,200)); this->addChild(sp2,1); 创建容器
[html] view plain copy Alpha: auto sp_array = Array::create(); beta: Vector<Sprite*> sp_vec; 2、将创建好的精灵加入进容器中
[cpp] view plain copy Alpha: sp_array->addObject(sp1); sp_array->addObject(sp2); beta: sp_vec.pushBack(sp1);//和 堆栈 一样一样的 sp_vec.pushBack(sp2); 3、获得容器中的大小
[cpp] view plain copy Alpha: int count = sp_array->count(); beta: int count = sp_vec.size(); 4、获得容器中的精灵,并让这些元素都做统一的动作
[cpp] view plain copy Alpha: for(int i=0;i<sp_array->count();i++) { auto sp = (Sprite*)sp_array->getObjectAtIndex(i); sp->runAction(MoveTo::create(0.2f,Point(100,100))); } beta: for( auto& e : sp_vec) { e->runAction(MoveTo::create(0.2f,Point(100,100)));//这样的for写法是C++ 11的新特性 } 5、删除容器中的精灵
[cpp] view plain copy //假设是要删除容器中最后一个精灵的话: Alpha: sp_array->removeLastObject(); beta: sp_vec.popBack(); //假设是直接删除对象: Alpha: sp_array->removeObject(sp1); beta: sp_vec.eraseObject(sp1); //假设是要删除容器中所有的对象: Alpha: sp_array->removeAllObject(); beta: sp_vec.clear(); 6、其它”说破不值钱“,事实上Vector也就那样啦,恩,那样...最后补充一些其它的使用方法:
[cpp] view plain copy //a 在容器中的不论什么一个位置插入对象: sp_vec.pushBack(sp1); sp_vec.pushBack(sp2); //眼下的情况是,sp1在容器的第一个位置,sp2在容器的第二个位置,这时候我们要将sp3放入第一个位置: sp_vec.insert(0,sp3);//ok //b 查找容器中的对象: //1、如果不知道容器中是否有sp3这个精灵,这时候能够这样: sp_vec.contains(sp3);//假设有,返回true,无返回false; //2、已知容器中有sp3这个精灵,想获得它在容器中的位置: int pos_int = sp_vec.find(sp3); //上面的方法能够获得sp3的位置,但返回的事实上是迭代器的地址,你得到的结果可能是45214等等,假设想获得正常须要的位置,能够这样: int pos_int = sp_vec.find(sp3) - sp_vec.begin();//ok
转载于:https://www.cnblogs.com/bhlsheji/p/4377140.html
相关资源:数据结构—成绩单生成器