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方法得到

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值