iw.*_*hin 6 c++ containers memory-management
是否有一些"标准"容器(STL,boost)可以呈现多个内存块作为单个连续的容器?我需要使用以下条件的一些数据:
因此,在获取所有数据后,我有一个内存块列表.我需要将一些STL算法(搜索,复制等)作为一个整体应用于数据.有一个解决方案来写容器来保存有关这些块+前进迭代器的信息,它可以从一个块"跳转"到另一个块.
但问题似乎相当普遍,所以我希望有一些我不知道的着名答案.提前致谢.
你说,记忆是提供给你的。听起来您不想复制它。没问题,STL 哲学非常灵活。你实际上并不需要一个容器;它们只是用于内存管理,并且已经得到处理。
你需要的是一个迭代器。没有标准;你必须自己写一个。有太多细微的变化,无法为此提供标准解决方案。但不用担心,这相当容易。如果您继承自 ,您将获得必要的 typedef std::iterator<value_type>,因此您只需要编写operator*(直接)和operator++// operator--/ (理解块)operator+。operator-
| 归档时间: |
|
| 查看次数: |
261 次 |
| 最近记录: |