【发布时间】:2021-10-22 12:40:10
【问题描述】:
我有一个std::vector<std::array<double, 16>>的对象
vector entry Data
[0] - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[1] - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[2] - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[...] - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
这旨在以 ravel 格式表示一个 4x4 矩阵。
为了不重复信息,我想创建一个指针以从上述结构中提取 3x3:
我有 3x3 结构的数学运算 (std::array<double, 9>)
someStructure:指向数据元素[0, 1, 2, 4, 5, 6, 8, 9 10]
最终目标是:std::array<double, 9> tst = someStructure[0] + someStructure[1];
这可行吗?
最好的问候
【问题讨论】:
-
向量的相关性是什么?一个 4x4 矩阵只有 16 个元素,并且由向量的单个元素表示,对吧?
-
它代表一个矩阵块
-
我建议你给自己一个矩阵库。没有办法只使用您拥有的结构获得指向内部(嵌套)3x3 矩阵的指针。
-
您的 3x3 矩阵不会是一块连续的内存,因此引用 aka
std::array<double, 9>并不可行 -
这里不太了解std::valarray,它能够做这样的事情。