码迷,mamicode.com
首页 > 编程语言 > 详细

C++创建m*n数组

时间:2020-03-06 20:07:47      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:规模   总结   格式   code   二维数组   ++   cto   今天   补充   

今天刷题发现一道动态规划题目要用到二维数组,但必须是根据参数来控制数组规模。查看博客发现这几类定义方法:

  • 使用指针
    int** a = new int*[rows];
    for(int i = 0; i < rows; i++)
    {
        a[i] = new int[columns];
    }
    //释放空间
    for(int i = 0; i < rows; i++)
    {
        delete []a[i];
    }

1、new分配数组对象格式为:

new int[n]; //new+类型+[] 且未初始化
new int[n](); //初始化为0

2、new之后一定要delete

delete p; //删除对象
delete []p; //删除数组

  • 使用vector
vector<vector<int>> b(rows, vector<int>(columns));

vector<vector<int>> b2(rows);
for(int i = 0; i < rows; i++)
{
    b2[i].resize(columns);
}
  • 使用malloc
int** c = (int**)malloc(sizeof(int)*rows);
for(int i = 0; i < columns; i++)
{
    c[i] = new int[columns];
}
  • 特殊
    今天刷题看到一种这样的定义:
    bool dp[m][n] = {0};竟然也是可以用的

    总结

    1.vector创建数组在定义后面加()补充数组的size
    2.new和创建二维数组需两步且都需定义**a
    3.注意区分**a,(*a)等区别

C++创建m*n数组

标签:规模   总结   格式   code   二维数组   ++   cto   今天   补充   

原文地址:https://www.cnblogs.com/leflew/p/12430141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!