boost-multi-array相关内容

如何遍历 boost::multi_array

我一直在研究 boost::multi_array 库,以寻找允许您在单个 for 循环中遍历整个 multi_array 的迭代器. 我认为那个库中没有这样的迭代器.(在那里找到的迭代器可以让你遍历 multi_array 的一个维度) 我错了吗? 如果没有,是否有任何库定义了这样的迭代器? 进入细节,我想写一些类似的东西: boost::multi_array 并获得重 ..

Boost MultiArray 中访问元素的最快方法

什么更快 - 使用元素选择运算符访问多数组的元素,还是使用迭代器遍历多数组? 就我而言,我每次都需要对多数组的所有元素进行完整传递. 解决方案 访问 boost::multi_array 的每个元素的最快方法是通过 data() 和num_elements(). 使用 data() 您可以访问底层原始存储(包含数组数据的连续块),因此不需要多个索引计算(还要考虑 multi_a ..
发布时间:2021-06-15 19:53:07 C/C++开发

哪个最快?boost :: multi_array还是std :: vector?

哪个最快?是 boost :: multi_array 还是 std :: vector ?我将拥有(不是常数)以3维存储的17.179.869元素,这些元素需要非常快速且非常频繁地在 for 循环内进行访问.表现最好的是什么?是 std :: vector 还是 boost :: multi_array ? (我不希望它能在一秒钟内完成,但我想使其尽可能高效,因为相差一纳秒可以节省大量时间 ..
发布时间:2021-04-16 20:18:56 C/C++开发

如何指定boost multi_array在运行时退化维度?

我有一个3D multi_array,我想使用在运行时指定的维度制作2D切片。我知道退化维度的索引和我想在退化维度中提取的切片的索引。目前丑陋的解决方法如下: if(0 == degenerate_dimension) { = input_array [boost :: indices [slice_index] [range()] [range()]]; } else if(1 ..
发布时间:2016-10-23 22:30:15 C/C++开发

迭代升压的尺寸:: multi_array的

我试着写一些维度无关code在C ++模板类,使用一个boost :: multi_array的(不过,如果其他容器/数据结构是在这个更好,我会很高兴听到这件事)。 给定一个层面,我想遍历全系列所有其他维度,沿着返回选定维一维视图。这是相当简单的,或者至少它似乎是从升压文档。 我无法弄清楚如何做的是遍历选定维度对所有数组的大小,当数组的维数在编译时是已知的。 这是如何做到这一点任何意见? ..

指针在动态分配升压multi_array的一类,而不是编译

我是pretty新的C ++与提升。 我想通过这门课的“世界”的目的是有一个名为类型“octreenode”的“块”的数组。 previously我有一个普通的一维数组,这工作得很好。现在我想要移动到使用3D阵列与Boost的功能的multi_array,我真的不知道我做错了。 简体code: 类世界{ 上市: TYPEDEF的boost :: multi_array的< octre ..

如何在运行时指定升压的multi_array的退化维度?

我有一个3D的multi_array,我想作在系统运行时指定的尺寸2D片。我知道退化维度的指标,我想在退化的维度来提取切片的索引。目前,丑陋的解决方法看起来像: 如果(0 == degenerate_dimension) { 切片片= input_array [的boost ::指数[SLICE_INDEX] [范围()] [范围()]; } 否则如果(1 == degenerate_d ..
发布时间:2016-08-12 18:11:37 C/C++开发

单行初始化器的Boost.MultiArray的

我有一个n维Boost.MultiArray的我初始化如下: const int的N = 3,大小= 4; //尺寸#和一维的大小 提高:: multi_array的<焦炭,N> ARR; 提高::数组<为size_t,N>扩展; //每一维的尺寸 extents.assign(大小); //指定大小的每个维度 - > {{4,4,4}} arr.resize(范 ..
发布时间:2016-08-12 18:04:41 C/C++开发

如何分配/复制一个boost :: multi_array的

我要分配一个boost :: multi_array中的副本。我怎样才能做到这一点。在这里我想给它分配的对象已经被初始化为默认的构造函数。 这code不起作用,因为尺寸和大小是不一样的。 类字段{ 提高:: multi_array的<焦炭,2 - ; m_f; 无效set_f(升压:: multi_array的<短,2 - ;&安培; F){ m_f = F; ..
发布时间:2016-08-12 17:57:35 C/C++开发

的boost :: multi_array的性能问题

我试图提升比较的性能:: multi_array的原生动态分配数组,用下面的测试程序: 的#include<&WINDOWS.H GT; #定义_SCL_SECURE_NO_WARNINGS #定义BOOST_DISABLE_ASSERTS #包括LT&;升压/ multi_array.hpp>INT主(INT ARGC,CHAR *的argv []) { const int ..
发布时间:2016-08-12 17:12:40 C/C++开发

如何遍历一个boost :: multi_array的

我一直在寻找到了boost :: multi_array的图书馆寻找一个迭代器,允许你遍历的全的的multi_array在一个for循环。 我不认为这是在该库中的任何这样的迭代器。 (被发现存在的迭代器让你遍历的multi_array的一个维度) 我错了?结果 如果没有,是否有一个定义这样一个迭代的图书馆吗? 进入到细节,我想写类似: 的boost :: multi_array的< ..