我正在开发一个外部存储器数据结构,我需要将数据放入一个自动进行交换的矢量结构(可能使用LRU策略)以保持固定的RAM存储器.我已经尝试过stxxl向量结构,但问题是它无法存储动态结构std::vector.这不起作用:
stxxl::vector< std::vector<T> >
Run Code Online (Sandbox Code Playgroud)
是否有任何外部存储器结构库可以处理这些元素?
模板参数stxxl::vector是包含项的类型,但std::vector不是类型,它缺少它的模板参数.
如果要参数化itemtype,请尝试例如stxxl::vector<std::vector<int> >,或创建一个封闭的模板类.stxxl::vectorstd::vector
更新:经过一些研究,我在Stxxl:FAQ的第一页 http://algo2.iti.kit.edu/stxxl/trunk/FAQ.html上找到了这个.
参数化STXXL容器
像stxxl :: vector这样的STXXL容器类型只能使用值为POD的值类型(即没有虚函数,没有用户定义的复制赋值/析构函数等)进行参数化,并且不包含对内部存储器的引用(包括指针) .通常,"复杂"数据类型不满足此要求.
这就是原因
stxxl::vector<std::vector<T> >,stxxl::vector<stxxl::vector<T> >也是无效的.如果合适,std::vector<stxxl::vector<T> >通过索引计算使用 或模拟二维数组.
| 归档时间: |
|
| 查看次数: |
849 次 |
| 最近记录: |