Почему я могу инициализировать регулярную матрицу Boost, как скалярную матрицу?
Почему это работает? Этого нет нигде в документации...
#include <iostream>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/io.hpp>
int main()
{
boost::numeric::ublas::matrix<double> twoByTwoMat(2,2,-2);
std::cout << "This is the matrix: " << twoByTwoMat << std::endl;
return 0;
}
Выход:
This is the matrix: [2,2]((-2,-2),(-2,-2))
1 ответ
Решение
Это определено в <boost/numeric/ublas/matrix.hpp>
заголовочный файл
matrix (size_type size1, size_type size2, const value_type &init):
matrix_container<self_type> (),
size1_ (size1), size2_ (size2), data_ (layout_type::storage_size (size1, size2), init) {
}