C++二维数组new小结(zz)
二维数组new小结
1.
A (*ga)[n] = new A[m][n];
...
delete []ga;
缺点:n必须是已知
优点:调用直观,连续储存,程序简洁(经过测试,析构函数能正确调用)
2. A** ga = new A*[m];
for(int i = 0; i < m; i++)
ga[i] = new A[n];
...
for(int i = 0; i < m; i++)
delete []ga[i];
delete []ga;
缺点:非连续储存,程序烦琐,ga为A**类型
优点:调用直观,n可以不是已知
3. A* ga = new A[m*n];
...
delete []ga;
缺点:调用不够直观
优点:连续储存,n可以不是已知
4. vector > ga;
ga.resize(m); //这三行可用可不用
for(int i = 1; i < n; i++) //
ga[i].resize(n); //
...
缺点:非连续储存,调试不够方便,编译速度下降,程序膨胀(实际速度差别不大)
优点:调用直观,自动析构与释放内存,可以调用stl相关函数,动态增长
5. vector ga;
ga.resize(m*n);
方法3,4的结合
6. 2的改进版
A** ga = new A*[m];
ga[0] = new A[m*n];
for(int i = 1; i < m; i++)
ga[i] = ga[i-1]+n;
优点:连续存储,n可以不是已知,析构方便,猜想只需delete [] ga;
问题:
1.怎么进行多维数组的声明和初始化?
2.是否能够动态分配多维数组,怎么样正确析构?
3.怎么理解这些操作?
抛出问题,本周搞定.
转载于:https://www.cnblogs.com/beyondstorm/archive/2008/08/26/1276278.html
C++二维数组new小结(zz)相关推荐
- C语言二维数组元素的多种表示方法小结
C语言二维数组元素的多种表示方法小结 昨天,一个小可爱问我,为何函数中,数组可以改变主函数中的值,比如b[i],就可以改原来数组中的值.其实b[i] 等价于 *(b + i)也是通过地址间接更改的,小 ...
- php查找二维数组下标,PHP实现二维数组中的查找算法小结
本文实例讲述了PHP实现二维数组中的查找算法.分享给大家供大家参考,具体如下: 方法1:silu从左下角最后一行的第一个元素开始,遍历.如果小于target 则遍历该行的所有元素,找到结束.如果大于继 ...
- 用STL vector 来创建二维数组 zz
以前我要建立一个二维数组,总是使用 int N=5, M=6; vector<vector<int> > Matrix(N); for(int i =0; i< Matr ...
- php二维数组中的查找,PHP实现二维数组中的查找算法小结
本文实例讲述了PHP实现二维数组中的查找算法.分享给大家供大家参考,具体如下: 方法1:silu从左下角最后一行的第一个元素开始,遍历.如果小于target 则遍历该行的所有元素,找到结束.如果大于继 ...
- php 组装二维数组,php实现快速对二维数组某一列进行组装的方法小结
本文实例总结了PHP实现快速对二维数组某一列进行组装的方法.分享给大家供大家参考,具体如下: 问题: 比如我二维数组是这样的: $user = array( '0'=> array('id'=& ...
- C语言学习笔记 (005) - 二维数组作为函数参数传递剖析
前言 很多文章不外乎告诉你下面这几种标准的形式,你如果按照它们来用,准没错: //对于一个2行13列int元素的二维数组 //函数f的形参形式 f(int daytab[2][13]) {...}// ...
- C语言 指针+二维数组详解 (应付期末、考研的最强笔记,建议收藏)
哈喽!这里是一只派大鑫,不是派大星.本着基础不牢,地动山摇的学习态度,从基础的C语言语法讲到算法再到更高级的语法及框架的学习.更好地让同样热爱编程(或是应付期末考试 狗头.jpg)的大家能够在学习阶段 ...
- floatmap 二维数组_第 2 章 数组
第2 章 数组 几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构.JavaScript里也有数组类型,虽然它的第一个版本并没有支持数组.本章中,我们将深入学习数组数据结构和它的能力 ...
- c语言二维数组 ppt,C语言二维数组与指针.ppt
C语言二维数组与指针.ppt 好好考,全国计算机等级考试 二级C语言,第12讲 二维数组与指针,二维数组的定义 数组元素的引用及初始化 二维数组和指针 二维数组名和指针数组作为实参 二维数组程序举例 ...
最新文章
- 2020年10月linux内核,Linux内核5.9于2020年10月12日发布
- 如何给Apache添加虚拟路径和虚拟主机?
- 如何在 InfoPath 2003 表单中动态加载数据
- 贝叶斯神经网络的辩论
- 第十届蓝桥杯java B组—试题I 后缀表达式
- mave工程中的一个类调用另一个聚合工程的一个类_谈谈设计模式:建造者模式在jdk中的体现,它和工厂模式区别?...
- java加按钮_如何从零开始对接第三方登录(Java版):QQ登录和微博登录
- pb,json,二进制,xml数据对比
- excel日期相关计算天数
- Spring xml文件配置——创建bean的三种方式及作用范围、生命周期
- Servlet和Servlet容器概念
- Excel 宏编程-使用excel宏编写第一个Hello World程序实例演示!
- android webview 本地视频播放,Android中webview html5 自动播放本地视频
- matlab连通区域统计,MATLAB bwlabel函数 统计连通区域
- 搜索 阿虚同学_凉宫春日阿虚台词“在虚构的故事当中寻求真实感的人脑袋一定有问题”动画是出自那一集?...
- Python:佛祖保佑
- php如何处理304缓存,php静态文件返回304技巧分享
- linux软件源历史版本,解决deepin 15.9.2以后版本软件太旧的问题,混合lion与panda源使用...
- 深度学习花书学习感悟之第二章线性代数
- Java 二分查找算法及效率比较
热门文章
- java socket wex5_WeX5集成ActiveMQ+WebSocket实现消息推送
- 用函数求10个数的平均值_Excel AVERAGEIF函数条件求平均值
- pca降维的基本思想_一文读懂 PCA 降维算法
- Android 三方库lottie、mmkv的使用
- 安装了email模块还是报错_科普:利用Python smtplib和email模块实现自动发送邮件功能...
- 利用qq账号查询所绑定的手机号码_如何更改社保绑定手机号?
- 002_Redis安装和卸载
- 005-SDK框架之LYWSDKCallBackListener.h
- python绘制饼图的列表有none_python 有没有库或者函数,类似R的corrplot,画相关系数图的时候,每个方框里面为饼图?...
- oracle 前导列_通过 PL/SQL Developer (Oracle)-数据库(26)