2013-05-14 667 views
4

我在Qt项目的几行代码中每隔1s添加一个Qvector。我注意到,在STL中,deque可以有更好的性能,在向量中添加新的元素。什么是等效或类似的Qt方式?因为我在Qt库中找不到任何东西。Qt中的等效std :: deque是什么?

胡里奥

回答

4

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

但是,您最好的选择是使用QList

这里是什么文件说,关于Qt容器类:

在大多数情况下,是的QList使用权类。它的基于索引的API比QLinkedList的基于迭代器的API更方便,并且由于它将项目存储在内存中的方式通常比QVector更快。它也扩展到可执行文件中的较少代码。

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

+0

正确...在检查文档后,我决定使用QList。谢谢! – colddie 2013-05-14 09:27:37

1

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

无论如何,请注意的情况下,当你在向量都std::vectorQVector有一个成员函数命名年底做了很多插入的储备(见链接),可用于预分配更大的缓冲区,并使端点更快地插入。

相关问题