Повышение UBLAS Matrix Reference
Мне интересно, возможно ли получить адрес отдельного элемента матрицы Boost uBLAS?
То есть
boost::numeric::ublas::matrix<char> bob(3,3);
some_function(&bob[2][2]);
Теперь, конечно, вторая строка не будет работать... но я бы этого хотел.
Какие-нибудь мысли?
Спасибо!
2 ответа
Решение
Разве не проще использовать адрес возвращаемого значения следующего оператора? И независимо от расположения матрицы?
reference operator () (size_type i, size_type j)
Например:
some_function(&bob(2,2));
По умолчанию внутренним представлением матрицы является основной массив 1D строк.
some_function(&bob.data()[i*ncol+j]
должно сработать