Cocos2d-x中Vector使用
1、创建Vector对象
Vector()。默认的构造函数。
Vector(ssize_t capacity)。创建Vector对象,并设置容量。
Vector(const Vector<T> &other) 。用一个已存在的Vector对象创建另一个Vector对象,其中&other是左值引用参数传递。
Vector(Vector<T> &&other) 。用一个已存在的Vector对象创建另一个Vector对象,其中&&other是右值引用参数传递。
2、添加元素
向Vector对象中添加元素都必须是Ref对象指针类型,下面是总结常用的函数:
void pushBack(T object) 。添加一个元素,T表示Ref对象指针类型。
void pushBack(const Vector<T> &other)。把一个Vector对象中所有元素添加到当前Vector对象中。
void insert(ssize_t index, T object) 。在指定位置插入元素,ssize_t是int类型别名。
3、移除元素
下面是总结常用的移除Vector<T>容器中元素的函数:
void popBack()。移除最后一个元素。
void eraseObject(T object, bool removeAll=false)。移除某个元素。
iterator erase(iterator position)。指定位置移除对象,参数是迭代器,而返回值是下一个迭代器。
iterator erase(iterator first, iterator last)。指定移除对象范围(first~last),参数是迭代器,而返回值是下一个迭代器。
iterator erase(ssize_t index)。移除一个指定索引的元素,参数是ssize_t,而返回值是下一个迭代器。
void clear ()。移除所有元素。
4、替换和交换元素
我们还可以通过下面函数对Vector容器中元素替换和交换:
void swap(T object1, T object2)。交换2个元素。
void swap(ssize_t index1, ssize_t index2)。交换2个指定位置元素。
void replace(ssize_t index, T object)。用一个对象替代指定位置元素。
5、查找操作
我们有的时候还需要操作Vector中的元素,下面是总结常用的查找函数:
iterator find (T object)。查找Vector容器中的对象,返回值迭代器。
T at(ssize_t index)。根据索引位置返回Vector容器中的元素。
T front()。返回第一个元素。
T back ()。返回最后一个元素。
T getRandomObject()。返回随机元素。
bool contains(T object)。返回某个元素是否存在容器中。
ssize_t getIndex (T object)。返回指定对象的位置。
6、其它操作函数
此外还有很多操作Vector对象函数,下面是总结常用的函数:
ssize_t size ()。返回元素个数。
ssize_t capacity()。返回Vector的容量。
Cocos2d-x中Vector使用的更多相关文章
- c++中vector的用法详解
c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...
- C++的STL中vector内存分配方法的简单探索
STL中vector什么时候会自动分配内存,又是怎么分配的呢? 环境:Linux CentOS 5.2 1.代码 #include <vector> #include <stdio ...
- C++ 中vector的基本用法
//在网上看了好久,自己总结了一下下,第一篇博客,呼呼,学到不少 基本概念 vector容器是一个模板类,可以存放任何类型的对象).vector对象可以在运行时高效地添加元素,并且vector中元素是 ...
- java中vector与hashtable操作详解
众所周知,java中vector与hashtable是线程安全的,主要是java对两者的操作都加上了synchronized,也就是上锁了.因此 在vector与hashtable的操作是不会出现问题 ...
- [转贴]从零开始学C++之STL(二):实现一个简单容器模板类Vec(模仿VC6.0 中 vector 的实现、vector 的容量capacity 增长问题)
首先,vector 在VC 2008 中的实现比较复杂,虽然vector 的声明跟VC6.0 是一致的,如下: C++ Code 1 2 template < class _Ty, cl ...
- c++中vector等容器的实现机制
stl容器区别: vector list deque set map-底层实现 stl容器区别: vector list deque set map (转) 在STL中基本容器有: vector.li ...
- 如何在cocos2d项目中enable ARC
如何在cocos2d项目中enable ARC 基本思想就是不支持ARC的代码用和支持ARC的分开,通过xcode中设置编译选项,让支持和不支持ARC的代码共存. cocos2d是ios app开发中 ...
- 关于C++中vector和set使用sort方法进行排序
C++中vector和set都是非常方便的容器, sort方法是algorithm头文件里的一个标准函数,能进行高效的排序,默认是按元素从小到大排序 将sort方法用到vector和set中能实现多种 ...
- 如何在Cocos2D游戏中实现A*寻路算法(六)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- 如何在Cocos2D游戏中实现A*寻路算法(一)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
随机推荐
- 容斥原理应用(求1~r中有多少个数与n互素)
问题:求1~r中有多少个数与n互素. 对于这个问题由容斥原理,我们有3种写法,其实效率差不多.分别是:dfs,队列数组,位运算. 先说说位运算吧: 用二进制1,0来表示第几个素因子是否被用到,如m=3 ...
- 用mysqlslap压测mysql
参考文献:http://my.oschina.net/costaxu/blog/108568 上面网友详细的列举了用mysqlslap对mysql的压力测试结果,我也照葫芦画瓢试了一次,结果如下: 以 ...
- kafka consumer频繁reblance
转载请注明地址http://www.cnblogs.com/dongxiao-yang/p/5417956.html 结论与下文相同,kafka不同topic的consumer如果用的groupid名 ...
- 程序员取悦女朋友的正确姿势---Tips(iOS美容篇)
前言 女孩子都喜欢用美图工具进行图片美容,近来无事时,特意为某人写了个自定义图片滤镜生成器,安装到手机即可完成自定义滤镜渲染照片.app独一无二,虽简亦繁. JH定律:魔镜:最漂亮的女人是你老婆魔镜: ...
- php操作Memcache示例
<?php //==============================实例化============================ $mem=new Memcache; //====== ...
- 2的32次方 分类: C#小技巧 2014-08-05 18:18 406人阅读 评论(0) 收藏
版权声明:本文为博主原创文章,未经博主允许不得转载.
- winform设置DataGridView样式 (蓝色)
本文转载:http://www.cnblogs.com/hailexuexi/archive/2012/04/23/2466398.html 代码: #region DataGridVeiw Styl ...
- 文件上传~Uploadify上传控件~续(多文件上传)
对于Uploadify文件上传之前已经讲过一次(文件上传~Uploadify上传控件),只不过没有涉及到多文件的上传,这回主要说一下多个文件的上传,首先,我们要清楚一个概念,多文件上传前端Upload ...
- QT QXmlStreamWriter用法小结
一 API介绍 writeStartDocument():写文档头,作用类似于创建一个xml文档,并在文档开头部分写入版本信息和编码信息,一般为: <?xml version="1.0 ...
- win主机用web.config和httpd.ini实现301重定向
当你准备好好看这篇文章的时候,你应该已经知道了301重定向的作用与意义了,那么这里就不多加解释了. 那么我唯一想提的就是关于域名带与不带www的区别,并且301重定在其中的意义,详情:域名带与不带ww ...