Qt中等效的std :: deque是什么?

时间:2013-05-14 08:19:54

标签: qt deque

我在Qt项目中使用几行代码,每1秒附加到Qvector。我注意到在STL deque中可以更好地在向量中添加一个新元素。什么是等效或类似的Qt方式?因为我在Qt库中找不到任何内容。

Julio

2 个答案:

答案 0 :(得分:5)

在QT中没有直接等同于std::deque类。

但是,最好的办法是使用QList

以下是文档中有关QT容器类的内容:

  

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

无论如何,如果你每秒只追加一次物品,那么选择一种物品不会产生太大的影响。

答案 1 :(得分:1)

没有必要为每个std容器都有一个Qt等价物,你可以使用std :: deque,如果这是你所追求的。

无论如何,请注意,对于在向量末尾执行大量插入的情况,std::vectorQVector都有一个名为 reserve 的成员函数(请参阅链接)可以用来预先分配一个更大的缓冲区,并在最后加快插入。