提升uBLAS矩阵参考

时间:2012-02-16 17:31:33

标签: c++ boost matrix ublas boost-ublas

我想知道是否有可能获得Boost uBLAS矩阵的单个元素的地址?

那是

boost::numeric::ublas::matrix<char> bob(3,3);
some_function(&bob[2][2]);

现在,当然第二行不起作用......但是我想要它。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

不会使用以下运算符的返回值的地址更简单吗?并且独立于矩阵布局?

reference operator () (size_type i, size_type j)

例如:

some_function(&bob(2,2));

答案 1 :(得分:1)

默认情况下,矩阵的内部表示是行主要的1D数组。

some_function(&bob.data()[i*ncol+j]可行