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的容量。