- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题与 Boost.MultiArray 类有关。我了解如何将 multi_array
对象转换为 array_view
对象,如下代码所示:
int my_row = 5;
int my_col = 7;
boost::multi_array<int,2> my_matrix(boost::extents[my_row][my_col]);
int *b = new int [my_row*my_col];
int loop = 0;
for(int i=0; i<my_row; i++)
{
for(int j=0; j<my_col; j++)
{
loop = loop+1;
my_matrix[i][j]=loop;
}
}
std::cout<<"The matrix"<<std::endl;
for (int i=0; i<my_row; i++)
{
for(int j=0; j<my_col; j++)
std::cout<<my_matrix[i][j]<<" ";
std::cout<<std::endl;
}
int new_row = 3;
int new_col = 4;
boost::multi_array<int,2>::array_view<2>::type my_view =
my_matrix[boost::indices
[boost::multi_array<int,2>::index_range(0,new_row,1)]
[boost::multi_array<int,2>::index_range(0,new_col,1)]
];
std::cout<<"The view"<<std::endl;
for (int i=0; i<new_row; i++)
{
for(int j=0; j<new_col; j++)
std::cout<<my_view[i][j]<<" ";
std::cout<<std::endl;
}
我的问题是因为 array_view
对象与 multi_array
对象非常相似,有没有办法将 array_view
对象转换成 multi_array
对象?
最佳答案
boost::multi_array
有这些采用 array_view
的构造函数:
multi_array(const const_array_view<NumDims>::type& x);
multi_array(const array_view<NumDims>::type& x);
您可以使用如下代码从您的array_view
构造一个multi_array
:
boost::multi_array<int,2> array_from_view(my_view);
请注意,新的 multi_array
具有独立于 View 和原始数组的存储空间。
关于c++ - Boost.MultiArray 中 multi_array 和 array_view 之间的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17210117/
我刚刚看过 Herb Sutter 的“默认情况下编写良好的 C++14...”(https://www.youtube.com/watch?v=hEx5DNLWGgA)的第一部分,我有一个(可能是愚
我在 Windows 8 上将 C++ AMP 与 Visual Studio 2012 结合使用。我有一个案例,其中我有 2D array_view、experimentData 和 1D arra
假设我有一些类层次结构,其中有几个 virtual返回容器引用的函数: #include #include #include #include #include class Interfac
我已经开始尝试使用 C++ AMP。我创建了一个简单的测试应用程序只是为了看看它可以做什么,但是结果让我很惊讶。考虑以下代码: #include #include "Timer.h" using n
如果我有一个 concurrency::array_view 在 concurrency::parallel_for_each 循环中运行,我的理解是我可以在 CPU 上继续其他任务,同时循环正在执行
我想要一个与维度无关的模板(对 3d 和 4d 都有用),大部分操作将在第一维被剥离的子矩阵上执行。 这就是我想要的 template class MMapMatrixTemplate{ publi
我正在尝试使用一个数组,例如 int myarray[2][3]初始化 array_view目的。我试过了 array_view a(2,3, myarray);但是,这不起作用。我也希望能够用 ve
void Addx(float *z, float *x, float *y, size_t m, size_t n) { vector vx(m*n); vector vy(m*n); vector
在最近的几次 session 演讲中,我听到 Bjarne Stroustrup 和其他人提到了 C++ 的新编码指南以及一些支持它们的类型。 具体来说,我记得 the example of span
我的问题与 Boost.MultiArray 类有关。我了解如何将 multi_array 对象转换为 array_view 对象,如下代码所示: int my_row = 5;
我正在尝试消费 Windows::Gaming::Input::RawGameController通过C++/WinRT图书馆。 调用 RawGameController::GetCurrentRea
我写了一个小的测试函数,它的行为与我想要的不一样。 基本上,它应该读取一个数组并写回它的内容(稍后,当它起作用时,它应该做更多,但现在即使这样也会失败)。 调试 GPU 代码时,我看到前几次迭代(以某
假设我有一个成员变量std::vector在一个类中,我想使用 gsl::array_view 的组合从成员函数返回它作为不可变 View 和 gsl::cstring_view .不幸的是,以下内容
我是一名优秀的程序员,十分优秀!