首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在2_dimensional中定义c++数组的最简单方法

在2_dimensional中定义c++数组的最简单方法
EN

Stack Overflow用户
提问于 2014-04-23 20:06:37
回答 3查看 79关注 0票数 1

我需要一个2_dimensional数组在c++中,它从用户那里获取维度。如何在2_dimensional中定义int c++数组?我找到了定义1_dimensional数组的东西,然后在每个元素中定义了其他数组。就像这样:

代码语言:javascript
复制
int **ary = new int[sizeY];
for (int i = 0; i < sizeY; i++)
    ary[i] = new int[sizeX]; 

还有其他简单的方法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-23 20:11:57

您应该使用向量的向量在c++中执行二维数组。

代码语言:javascript
复制
std::vector< std::vector<int> > myarray;

for(int i = 0; i < sizeY; i++)
{
     myarray.push_back(std::vector<int>());
     for(int j = 0; j < sizeX; j++)
     {
          myarray[i].push_back(0);
     }
}

您可以使用myarrayy访问元素。

票数 0
EN

Stack Overflow用户

发布于 2014-04-23 20:15:22

代码语言:javascript
复制
std::vector<std::vector<int>> myarray(sizeY, std::vector<int>(sizeX));
票数 3
EN

Stack Overflow用户

发布于 2014-04-23 20:16:22

对我来说,最简单的方法是使用向量。使用它,您可以编写如下代码:

代码语言:javascript
复制
vector< vector<int> > arr(rows, vector<int>(cols, 0));

这将创建一个新的2d向量,您可以使用类似数组。据我所知,这种方法更可取,因为您不必考虑释放内存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23254189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档