相关疑难解决方法(0)

重新审视了QList与QVector

我的问题基本上是什么时候选择QVector以及何时选择QList作为你的Qt容器.我所知道的:

  1. Qt docs:QList类

对于大多数用途,QList是正确的类.它的基于索引的API比QLinkedList的基于迭代器的API更方便,并且它通常比QVector更快,因为它将其项目存储在内存中.它还扩展到可执行文件中较少的代码.

  1. 这是非常受欢迎的问答:QVector vs QList.它也有利于QList.

  2. 但是:在最近的2015年Qt世界峰会上,KDAB提出了"为什么QList有害",这基本上是在这里:

QList被认为是有害的

不要使用QList,请使用Q_DECLARE_TYPEINFO

据我所知,这个想法是,QList在堆中分配新元素时,几乎所有类型都是低效的.每次添加新元素时,它都会调用new(每个元素一次),与之相比,这是低效的QVector.

这就是我现在试图理解的原因:QVector我们应该选择哪个默认容器?

c++ qt qlist qt5 qvector

20
推荐指数
3
解决办法
8794
查看次数

标签 统计

c++ ×1

qlist ×1

qt ×1

qt5 ×1

qvector ×1