繁体   English   中英

创建动态二维数组 c++

[英]Creating dynamic 2D array c++

据我所知,声明一个动态数组是:

int *array = new int[x];

我的问题是,如何声明一个动态二维数组?

例如:

int *array = new int[constant][dynamic];

从我发现的是行数不能是动态的。 有什么方法可以做到吗?

在这种情况下,我使用的一种简单技术是创建一个用于存储一维数组的结构,并创建一个包含这些一维 arrays 的数组。

struct BaseArray {
    BaseArray() = default;
    BaseArray(int count) : pArray(new int[count]) {}
    ~BaseArray() { delete[] pArray; }
    int* pArray = nullptr;
};


int main()
{
    BaseArray* pArray = new BaseArray[constant]{dynamic};
}

现在另一种简单的方法是使用std::vector 它看起来像这样,

std::vector<std::vector<int>> array(constant, std::vector<int>(dynamic));

我建议使用std::vector ,因为它的功能更完整,可以减轻你的负担。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM