Я просто хочу пройти матрицу от начала до конца, касаясь каждого элемента. Однако я вижу, что нет одного итератора для матрицы повышения, а есть два итератора, и я не смог понять, как заставить их работать, чтобы вы могли пройти всю матрицу.
typedef boost::numeric::ublas::matrix<float> matrix;
matrix m1(3, 7);
for (auto i = 0; i < m1.size1(); i++)
{
for (auto j = 0; j < m1.size2(); j++)
{
m1(i, j) = i + 1 + 0.1*j;
}
}
for (auto itr1 = m1.begin1(); itr1!= m1.end1(); ++itr1)
{
for (auto itr2 = m1.begin2(); itr2 != m1.end2(); itr2++)
{
//std::cout << *itr2 << " ";
//std::cout << *itr1 << " ";
}
}
Этот мой код печатает только строку1 матрицы, используя itr1, и только столбец1 матрицы, используя itr2. Что можно сделать, чтобы вместо этого получить доступ ко всем строкам и столбцам?