代码之家  ›  专栏  ›  技术社区  ›  Chenna V

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

  •  2
  • Chenna V  · 技术社区  · 15 年前

    我正在寻找类似的STL,如果不是至少增强

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

    3 回复  |  直到 15 年前
        1
  •  6
  •   tibur    15 年前

    std::deque 提供固定时间的前后插入移除(如果您正在寻找)。

        2
  •  3
  •   James McNellis    15 年前

    std::deque .

        3
  •  1
  •   Steve Townsend    15 年前

    如果您知道容器大小的上限,并且不打算在中间插入容器,则可以使用 boost::circular_buffer .

    如果你正在做很多中间容器的插入 deque vector 因为它(通常)将成员分组为固定大小的块,而不是一个连续的内存块。

    注意- QList deque<MyClass*> 或者(更好的)一些智能指针包装器 MyClass unique_ptr shared_ptr ,以防止过度复制 在客房部。

    在内部,QList表示为 T、 如果T本身是指针类型或 不大于 类,然后QList存储 对于1000项以下的列表,这个 数组表示允许 允许基于索引的访问。