Qt的QVector类

Qt的QVector类是一个类似标准C++vector的容器类(container class),它将数据存储在连续的内存空间里,因此在执行prepend、insert操作的时候比QList类慢。

如果用户需要保证向容器中间插入数据的时间短的话,应该使用QLinkedList类。

如果用户想使容器占用的内存连续且省去插入时在堆中分配内存的时间的话,应该使用QVector类。

QVector类的构造函数可以是空,也可以预先分配一定数量的内存

该类支持index-based API(operator[])和Java-style iterators访问,如果只是想读取容器中的数据,可以使用at方法避免深拷贝

容器的头指针可以通过data方法返回,这个指针对于一些普通C++函数非常有用

查询某一个值在容器中的位置可以通过indexOf和lastIndexOf方法,前者从容器头开始,返回第一个找到的该值的位置,后者从容器尾开始;如果仅仅想知道容器内是否含有某个值,可以用contains方法;若想知道某值出现的次数,可以使用count方法

如果想在程序运行过程中重新分配容器空间,可以使用resize,如果事先知道所需内存的大概数量,可以通过reserve方法预先分配内存,容器占用的内存数量可以用capacity方法得到

容器的值必须可以被赋值,不能被赋值的可以采用指针存储

你可能感兴趣的:(Qt的QVector类)