我喜欢将3x3矩阵存储为std::array<double,9>
。此外,我喜欢重载[] []运算符,以便访问矩阵的组件,如
using matrix = std::array<double,9>
matrix A {1,2,3,4,5,6,7,8,9};
double A_11 = A[1][1];
我可以轻松地将我的矩阵包装在一个类中,并编写一个像
这样的getter方法double Matrix::get_component(int i, int j) {
return A[3*i+j];
}
然而,这会破坏代码的可读性。我看了this对类似问题的回答,但我不知道如何将其调整为固定大小std::aray
。