36得票4回答
比较blitz++、armadillo和boost::MultiArray

我使用了以下代码(从一个旧帖子借用),对blitz++、armadillo和boost::MultiArray进行了比较:#include <iostream> using namespace std; #include <windows.h> #define _SCL...

27得票17回答
Boost::multi_array 性能问题

我正在尝试比较boost :: multi_array和本地动态���配的数组的性能,使用以下测试程序:#include <windows.h> #define _SCL_SECURE_NO_WARNINGS #define BOOST_DISABLE_ASSERTS #incl...

16得票3回答
boost::multi_array的调整大小无效

我无法让boost::multi_array重新调整大小。当我尝试时,会出现有关std::_Copy_impl等错误。以下是代码: #include <boost/multi_array.hpp> typedef boost::multi_array<int, 2>...

14得票2回答
提升Multiarray维度

我有一个Boost multiarray,其维度在运行时根据用户输入设置。 现在我想通过x,y,z分量迭代该数组。 如果这是一个std :: vector,我会使用:for(int i=0;i<v.size();i++){ 或者说一种迭代器。如何获取多维数组的数字维度?如何遍历多维数组?

12得票1回答
boost::multi_array视图和子数组之间有什么区别?

在查看文档后,我仍无法解决这个问题。 我可以编写以下代码:typedef boost::multi_array<boost::int32_t, 3> data_t; // 3d -- typedef data_t::array_view<3>::type data_...

10得票2回答
如何在运行时指定boost multi_array的退化维度?

我有一个3D多维数组,我想使用在运行时指定的维度制作2D切片。我知道退化维度的索引和我想要在该退化维度中提取的切片的索引。目前的丑陋解决方法看起来像这样:if (0 == degenerate_dimension) { Slice slice = input_array[boost::...

9得票1回答
如何分配/复制 Boost::multi_array?

我想分配一个boost::multi_array的副本。我该怎么做?我想要分配到的对象已经用默认构造函数初始化了。 这段代码无法工作,因为维度和大小不同。 class Field { boost::multi_array<char, 2> m_f; void set_...

9得票1回答
如何遍历boost::multi_array?

我一直在研究boost::multi_array库,寻找一种迭代器,可以让你在单个for循环中遍历整个multi_array。 我认为该库中没有这样的迭代器。(那里找到的迭代器只允许遍历multi_array的一个维度) 我错了吗? 如果不是,是否有任何定义这样的迭代器的库? 具体地说,...

8得票1回答
为什么boost::multi_array的ConstMultiArrayConcept有一个NumDims模板参数?

我编写了一个operator<<的特化,用于处理boost::multi_array,并使用ConstMultiArrayConcept,以便它可以在外部数组和子数组上工作。然而,我想知道为什么multi_array概念有一个std::size_t NumDims模板参数,因为它可...

7得票1回答
动态分配的boost多维数组中类的指针,编译不通过

我对使用C++和Boost还不是很熟悉。 我想让类“world”的对象拥有一个名为“chunk”的数组,类型为“octreenode”。以前我有一个普通的一维数组,它工作得很好。现在我正在尝试使用Boost的multi_array功能来使用三维数组,但我真的不确定我做错了什么。 简化代码:...