Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 外部存储器向量_C++_Data Structures_Stxxl - Fatal编程技术网

C++ 外部存储器向量

C++ 外部存储器向量,c++,data-structures,stxxl,C++,Data Structures,Stxxl,我正在开发一个外部内存数据结构,我需要将数据放入一个向量结构,该结构可以自动进行交换(可能使用LRU策略),以保持固定的RAM内存。我尝试过stxxl向量结构,但问题是它不能存储像std::vector这样的动态结构。这不起作用: stxxl::vector< std::vector<T> > stxxl::vector 是否有任何外部内存结构库可以处理这些类型的元素 stxxl::vector的模板参数是包含项的类型, 但是std::vector不是一个类型,它缺少

我正在开发一个外部内存数据结构,我需要将数据放入一个向量结构,该结构可以自动进行交换(可能使用LRU策略),以保持固定的RAM内存。我尝试过stxxl向量结构,但问题是它不能存储像
std::vector
这样的动态结构。这不起作用:

stxxl::vector< std::vector<T> >
stxxl::vector

是否有任何外部内存结构库可以处理这些类型的元素

stxxl::vector的模板参数是包含项的类型, 但是
std::vector
不是一个类型,它缺少模板参数

尝试使用例如
stxxl::vector
,或创建 如果需要,可以在
stxxl::vector
周围创建一个封闭的模板类 参数化
std::vector
的itemtype

更新: 经过一些研究,我在Stxxl:FAQ的第一页上发现了这一点

参数化STXXL容器

STXXL容器类型(如STXXL::vector)只能参数化 值类型为POD(即没有虚拟函数,没有 用户定义的复制分配/析构函数等),并且不包含 对内部内存的引用(包括指针)。通常是“复杂的” 数据类型不满足此要求

这就是为什么
stxxl::vector
stxxl::vector
无效。如果合适,使用
std::vector
,或通过 做指标计算


stxxl::vector
的模板参数是包含项的类型, 但是
std::vector
不是一个类型,它缺少模板参数

尝试使用例如
stxxl::vector
,或创建 如果需要,可以在
stxxl::vector
周围创建一个封闭的模板类 参数化
std::vector
的itemtype

更新: 经过一些研究,我在Stxxl:FAQ的第一页上发现了这一点

参数化STXXL容器

STXXL容器类型(如STXXL::vector)只能参数化 值类型为POD(即没有虚拟函数,没有 用户定义的复制分配/析构函数等),并且不包含 对内部内存的引用(包括指针)。通常是“复杂的” 数据类型不满足此要求

这就是为什么
stxxl::vector
stxxl::vector
无效。如果合适,使用
std::vector
,或通过 做指标计算


我不知道stxxl是什么,但是你试过这个“stxxl::vector”吗?是的,但是当我插入大量数据时,会产生不一致的值我不知道stxxl是什么,但是你试过这个“stxxl::vector”吗?是的,但是,当我插入大量数据时,这会产生不一致的值,如果它被标记,并且如果在您的回答中明确提到,这看起来不相关,但好的,我将替换它以实现向后兼容性,或者用于争论,但它与根据标记回答完全相关+1.对于编辑后的答案:)我忘了在帖子中添加模板参数,我的问题是stxxl::vector的实现不能保持动态结构的一致值。我的意思是,它是编译的,但在运行时我会遇到一些分段错误,如果它被标记,并且如果在您的回答中明确提到,它看起来不相关,但好吧,我用它来代替向后兼容性,也不好争论,但它与根据标签回答完全相关+1.对于编辑后的答案:)我忘了在帖子中添加模板参数,我的问题是stxxl::vector的实现不能保持动态结构的一致值。我的意思是,它可以编译,但在运行时我会遇到一些分段错误