第四章数据结构-Vector

Cocos2d-x学习笔记


Vector< T >数据结构

Vector< T >是cocos自己的列表数据结构,因此它能容纳的是Ref及子类的实例对象指针,其中T是模板,表示能够放入到数据结构中的类型。Vector< T >在内存管理方面不使用引用计数,它的内存管理是由编译器自动处理的,可以不考虑内存释放空间,其性能优于_Array。

创建Vector对象

  • Vector():默认的构造函数。
  • Vector(ssize_t capacity):创建Vector对象,并设置容量。
  • Vector(const Vector< T >&other):用一个已经存在的Vector对象创建另一个Vector对象,其中&other是左值引用参数传递
  • Vector(Vector< T >&&other):用一个已经存在的Vector对象创建另一个Vector对象,其中&&other是右值引用参数传递

添加元素

  • void pushBack(T object):添加一个元素,T表示Ref对象指针类型。
  • void pushBack(const Vector< T >&other):把一个Vector对象中的所有元素添加到Vector对象中。
  • void insert(ssize_t index, T object):在指定位置插入元素。

移除元素

  • 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():移除所有元素。

替换和交换元素

  • void swap(T object1, T object2):交换两个元素。
  • void swap(ssize_t index1, ssize_t index2):交换两个指定位置的元素。
  • void replace(ssize_t index, T object):用一个对象替换指定位置元素。

查找操作

  • 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):返回指定对象的位置。

其他操作

  • ssize_t size():返回元素个数。
  • size_t capacity():返回Vector的容量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值