将矩阵的大小调整为双数组

时间:2014-12-17 09:35:17

标签: c++ matrix double

我有一个std矩阵A,例如

std::vector<std::vector<double> > A(9,std::vector<double>9);

并计算其逆i需要将其定义为大小[1 * 81]的双倍,例如

double newA[1*81];

是否有像 resize 这样的函数,我可以在没有for循环的情况下从矩阵转换为double?

提前致谢。

1 个答案:

答案 0 :(得分:2)

不,你无法避免循环。

vector<double>double[]之间的内存布局存在差异。 vector实现为指向内存中其他位置的某些数据的指针,而double[9]直接使用9个双倍空格。

这意味着vector<vector>中的值在内存中不一定是连续的,而是在double[]中,或者在double[][]中。