C++ STL或Boost中是否有QList类型的数据结构?

C++ STL或Boost中是否有QList类型的数据结构?,c++,boost,stl,qt4,C++,Boost,Stl,Qt4,简单介绍一下QList,QList类似于QVector和STL vector,但在开始时也保留了一些空间;(最后也是如此) 我正在寻找类似的STL,如果不是至少Boost 在开始时保留空间可以改进预结束或删除第一项(固定时间),因为缓冲区可以向后增长。根据插入的位置改进插入。 那么,有人知道STL/C++中有类似的数据结构吗?? 谢谢。如果您希望在序列的开头和结尾有效地插入和删除,请使用std::dequestd::deque在固定时间提供前后插入和删除功能,如果它是您正在寻找的。如果您知道容器

简单介绍一下QList,QList类似于QVector和STL vector,但在开始时也保留了一些空间;(最后也是如此) 我正在寻找类似的STL,如果不是至少Boost

在开始时保留空间可以改进预结束或删除第一项(固定时间),因为缓冲区可以向后增长。根据插入的位置改进插入。 那么,有人知道STL/C++中有类似的数据结构吗??
谢谢。

如果您希望在序列的开头和结尾有效地插入和删除,请使用
std::deque
std::deque
在固定时间提供前后插入和删除功能,如果它是您正在寻找的。

如果您知道容器大小的上限,但不打算使用中间容器插入

如果您正在执行大量中间容器插入,则与
vector
相比,deque将是一个更好的选择,因为它(通常)将成员分组到固定大小的块中,而不是一个连续的内存块中

注意-实际上声明它使用指向对象的指针数组,如果它们不是平凡的。为了在C++中模拟这一点,您将使用<代码> DEQue>代码>或(更好)一些智能指针包装器在<代码> MyClass < /C> >如<代码> UngQuyPPTR <代码>或<代码> SyddYPPT,以防止在客房管理中过度复制<代码> MyClass <代码>。 在内部,QList表示为 指向类型为的项的指针数组 如果T本身是指针类型或 不大于a的基本类型 指针,或者如果T是Qt的共享 类,然后QList存储 直接在指针数组中创建项。 对于1000项以下的列表,此 数组表示允许非常复杂的操作 在中间的快速插入,以及它 允许基于索引的访问


是的。。这就是我想要的,事实上,我认为如果T是一个可移动类型的对象,那么QList将直接存储。我想是的,但如果我错了,请纠正我。但是谢谢Steve@reddy我的Qt知识的总和在上面-我只是在这里找到正确的上下文。然而,如果你指的是一个与指针大小相同的类型,比如
int
char
等,带有琐碎的副本构造和赋值,那么这就是我引用的摘录所暗示的。”可移动的是一个加载的单词在C++ 0x.史蒂夫的上下文中,我不知道移动实际上是C++概念,我认为这是QT。再次感谢各位:D@reddy-C++0x中有一些新特性,允许构建更高效的“移动”构造函数--我不想让您感到困惑,这就是我的意思。