如何在C++中创建动态二维数组?

-2 c++

我在课程中使用c ++并且为了解决程序我应该创建一个可能在维度上有所变化的数组.例如:

{
    int I,J;
    cin>>I;
    cin>>J;
    double X[I][J];
    double B[I][J];
}
Run Code Online (Sandbox Code Playgroud)

rig*_*old 5

与动态数组一样,使用std::vector:

unsigned I, J;
std::cin >> I >> J;
if (!std::cin) {
    // handle error
}
std::vector<double> X(I * J);
Run Code Online (Sandbox Code Playgroud)

要在索引(i,j)处获取/设置元素:

X.at(i * J + j) = 1;
std::cout << X.at(i * J + j);
Run Code Online (Sandbox Code Playgroud)