Почему первый индекс многомерной матрицы Eigen :: Tensor способен успешно пройти через все члены тензора?
Я новичок в библиотеке Eigen :: Tensor и все еще тестирую ее, чтобы принять еедля моего кода.
#include <Eigen/CXX11/Tensor>
using namespace Eigen;
int main()
{
Tensor<double, 3> t3d (2, 3, 4);
t3d.setValues(
{{{0, 6, 12, 18}, {2, 8, 14, 20}, {4, 10, 16, 22}},
{{1, 7, 13, 19}, {3, 9, 15, 21}, {5, 11, 17, 23}}});
for (int i = 0; i < t3d.size(); ++i)
{
cout << t3d(i, 0, 0) << '\t';
}
}
Должно выдавать ошибку какого-либо типа (дамп памяти и т. д.) или доступ к неназначенным частям памяти для получения случайных значений. Удивительно, но правильно выводятся все члены тензора:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23