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使用的更多相关文章

  1. c++中vector的用法详解

    c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...

  2. C++的STL中vector内存分配方法的简单探索

    STL中vector什么时候会自动分配内存,又是怎么分配的呢? 环境:Linux  CentOS 5.2 1.代码 #include <vector> #include <stdio ...

  3. C++ 中vector的基本用法

    //在网上看了好久,自己总结了一下下,第一篇博客,呼呼,学到不少 基本概念 vector容器是一个模板类,可以存放任何类型的对象).vector对象可以在运行时高效地添加元素,并且vector中元素是 ...

  4. java中vector与hashtable操作详解

    众所周知,java中vector与hashtable是线程安全的,主要是java对两者的操作都加上了synchronized,也就是上锁了.因此 在vector与hashtable的操作是不会出现问题 ...

  5. [转贴]从零开始学C++之STL(二):实现一个简单容器模板类Vec(模仿VC6.0 中 vector 的实现、vector 的容量capacity 增长问题)

    首先,vector 在VC 2008 中的实现比较复杂,虽然vector 的声明跟VC6.0 是一致的,如下:  C++ Code  1 2   template < class _Ty, cl ...

  6. c++中vector等容器的实现机制

    stl容器区别: vector list deque set map-底层实现 stl容器区别: vector list deque set map (转) 在STL中基本容器有: vector.li ...

  7. 如何在cocos2d项目中enable ARC

    如何在cocos2d项目中enable ARC 基本思想就是不支持ARC的代码用和支持ARC的分开,通过xcode中设置编译选项,让支持和不支持ARC的代码共存. cocos2d是ios app开发中 ...

  8. 关于C++中vector和set使用sort方法进行排序

    C++中vector和set都是非常方便的容器, sort方法是algorithm头文件里的一个标准函数,能进行高效的排序,默认是按元素从小到大排序 将sort方法用到vector和set中能实现多种 ...

  9. 如何在Cocos2D游戏中实现A*寻路算法(六)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  10. 如何在Cocos2D游戏中实现A*寻路算法(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

随机推荐

  1. UVaLive2572 poj1418 UVa1308 Viva Confetti

    一次放下n个圆 问最终可见的圆的数量 应该是比较经典的问题吧 考虑一个圆与其他每个圆的交点O(n)个 将其割成了O(n)条弧 那么看每条弧的中点 分别向内向外调动eps这个点 则最上面的覆盖这个点的圆 ...

  2. hadoop实例

    一篇讲得很好的hadoop实例,非常适合初学者学习hadoop. 本文转载自:http://www.cnblogs.com/xia520pi/archive/2012/06/04/2534533.ht ...

  3. 二进制文件和ASCII文件有何差别

    二进制文件和ASCII文件(即文本文件)的差别,对于和计算机亲近时间尚短的同学是个难题.本文用简单的样例,试图展示当中的道道,希望能对菜鸟们有些帮助. 1.一个样例:两种100000 有程序: #in ...

  4. 构造Nginx避免直接使用IP通路Webserver

    他看上去非常Nginx构造,似乎忽略了ip直接访问Web问题,从理论上讲,这是不利于SEO优化,因此,我们希望能够避免直接使用IP访问该网站,但域名.详细介绍了如何做到这一点,看看下面的. 在官方文件 ...

  5. windows server 许可port或执行技巧

    底:于windows serverserver于,部署应用程序,例如http当协议应用,当外网通http协议来访问网页,我们需要得到server入境许可,在访问者的浏览器网页内容足够的天赋正常显示,除 ...

  6. LINUX 中的 TCP/IP协议 参数详解

    Ipsysctl tutorial 1.0.4 Prev Chapter 3. IPv4 variable reference Next https://www.frozentux.net/ipsys ...

  7. 通过MultipleOutputs写到多个文件

    MultipleOutputs 类可以将数据写到多个文件,这些文件的名称源于输出的键和值或者任意字符串.这允许每个 reducer(或者只有 map 作业的 mapper)创建多个文件. 采用name ...

  8. iOS 复杂动画之抽丝剥茧

    一.前言 随着开发者的增多和时间的累积,AppStore已经有非常多的应用了,每年都有很多新的APP产生.但是我们手机上留存的应用有限,所以如何吸引用户,成为产品设计的一项重要内容.其中炫酷的动画效果 ...

  9. Eclipse中文语言包下载

    Kepler .Juno . Indigo语言包: http://www.eclipse.org/babel/downloads.php 其他低版本Eclipse语言包下载: http://archi ...

  10. PHP错误类型及屏蔽方法

    1. 注意(Notices)这些都是比较小而且不严重的错误,比如去访问一个未被定义的变量.通常,这类的错误是不提示给用户的,但有时这些错误会影响到运行的结果. 2. 警告(Warnings)这就是稍微 ...