您的位置:首页 > 其它

Vector用法小记

2015-05-18 17:26 253 查看

创建容器

Vector<Sprite*> sp_vec;

将对象数据添加进容器中

sp_vec.pushBack(sp); //和 堆栈 一样一样的



获得容器中的大小

int count =
(int)sp_vec.size(); //这里不是一定要强转类型,各人习惯,因为看不惯X-Code总是报警告


获得容器中的对象

for( auto& e : sp_vec)

{

e->runAction(MoveTo::create(0.2f,Point(100,100)));
//这种for写法是C++ 11的新特性


}

删除容器中的对象

//如果是要删除容器中最后一个对象的话:



sp_vec.popBack();



//如果是直接删除对象:



sp_vec.eraseObject(sp);



//如果是要删除容器中全部的对象:



sp_vec.clear();



其他一些用法

//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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: