vector <vector <double >>是一个制作矩阵类的好方法吗?

use*_*853 1 c++ vector matrix

我是一名数学学生,对C++很陌生,为了帮助我学习,我想创建一个矩阵类(我不想使用库类).我在考虑做类似的事情

int iRows = 5;
int iColumns = 6;
double** pMatrix = new double*[iRows];
for (int i = 0; i < iRows; ++i) {
    pMatrix[i] = new double[iColumns];
}
Run Code Online (Sandbox Code Playgroud)

(我不确定这是否是正确的语法 - 我想在尝试之前获得建议)但我在Stackoverflow看到,不建议使用不像shared_ptr的指针.是否更好地使用,vector<vector<double>>以便我不必担心删除内存?我担心矢量不是一个好选择,因为可以用push_back改变长度,我希望矩阵的大小是固定的.我不能用

double dMatrix[iRows][iColumns];
Run Code Online (Sandbox Code Playgroud)

因为尺寸不是恒定的.什么是我最好的选择?

eq-*_*eq- 5

大概

std::vector<double> matrix(rows * columns); // ditch the prefixes
// indexing: matrix[row * columns + column];
Run Code Online (Sandbox Code Playgroud)

因为每行都有相同数量的列.