社区
C++ 语言
帖子详情
在不知道数组大小情况下,如何删除动态创建的二维数组
shinefen
2009-10-12 10:34:48
我需要完全删除它申请的空间
但是不知道它的大小
只知道是二维
有什么最简单方法.
int ** abc;
....
...全文
362
30
打赏
收藏
在不知道数组大小情况下,如何删除动态创建的二维数组
我需要完全删除它申请的空间 但是不知道它的大小 只知道是二维 有什么最简单方法. int ** abc; ....
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yinshisike
2009-10-17
打赏
举报
回复
[Quote=引用 26 楼 mars_man 的回复:]
信息不全肯定没法了,因为不知道是如何创建的。
即使知道前面那一维是多少,比如知道是 int[6][]类型的,
这也不能保证你能正确删除,因为这还是依赖于它的创建方法。
但如果是离散的几个int[]的话,对每一个使用delete[]就OK了。
[/Quote]
这个考虑的更全面.
yinshisike
2009-10-17
打赏
举报
回复
[Quote=引用 11 楼 cplusplusleon 的回复:]
用sizeof语句计算出第一维的大小n .大约是用sizeof(p)/sizeof(p[0])
然后用for(int i=0;i <n;i++)
delete [] p;
不知是否可行
[/Quote]
不可行,对未知的操作,结果都是未知的.
yinshisike
2009-10-17
打赏
举报
回复
[Quote=引用 23 楼 sandrer 的回复:]
malloc.h -> _msize()
[/Quote]
理论上可以,实际应用起来难度太大,未知的东西太多了.
zhaofengbadboy
2009-10-17
打赏
举报
回复
貌似不可以吧。。。
mars_man
2009-10-17
打赏
举报
回复
信息不全肯定没法了,因为不知道是如何创建的。
即使知道前面那一维是多少,比如知道是 int[6][]类型的,
这也不能保证你能正确删除,因为这还是依赖于它的创建方法。
但如果是离散的几个int[]的话,对每一个使用delete[]就OK了。
cphj
2009-10-15
打赏
举报
回复
对,指针只是一个带有类型信息的地址,再没有任何其他的信息了
sunm42000
2009-10-15
打赏
举报
回复
去找申请这块内存的人,然后教育他。。。。。。
cx1014
2009-10-15
打赏
举报
回复
最近刚学到,学习学习
Sandrer
2009-10-15
打赏
举报
回复
malloc.h -> _msize()
彭辛乾
2009-10-15
打赏
举报
回复
DELETE
失落的凡凡
2009-10-14
打赏
举报
回复
[Quote=引用 18 楼 shinefen 的回复:]
都是我自己申请的内存..
是可以记录原数组范围....
就是想按题目的意思问下,有没有解决方法而已
[/Quote]
没有的……它们都是普通指针……没有保存关于它们指向那么个地址之外的任何信息。
shinefen
2009-10-14
打赏
举报
回复
欢迎讨论~呵呵
或者用什么auto智能指针之类..?
shinefen
2009-10-14
打赏
举报
回复
都是我自己申请的内存..
是可以记录原数组范围....
就是想按题目的意思问下,有没有解决方法而已
ameigame
2009-10-13
打赏
举报
回复
谁申请谁删除,不可能有别人申请了你来删除吧
24K純帥
2009-10-13
打赏
举报
回复
是delete[] abc
lzx258
2009-10-13
打赏
举报
回复
mark
猫已经找不回了
2009-10-13
打赏
举报
回复
如果不知道数组里面的指针元素个数,你是做不到的。
http://blog.csdn.net/jia_xiaoxin/archive/2008/11/10/3268645.aspx
cphj
2009-10-13
打赏
举报
回复
C语言这样也是没有释放干净
cplusplusleon
2009-10-13
打赏
举报
回复
用sizeof语句计算出第一维的大小n .大约是用sizeof(p)/sizeof(p[0])
然后用for(int i=0;i<n;i++)
delete [] p;
不知是否可行
whg01
2009-10-13
打赏
举报
回复
不知道如何申请,那么就不能安全的释放。
让申请内存的模块提供一个释放的函数。
加载更多回复(10)
动态创建
二维
数组
以 动 态 的 的 形 式 对 二 维 数 组 进 行 创 建 。
与大家交流分享
动态创建
二维
数组
的代码
动态创建
以为
数组
很简单,
动态创建
二维
数组
比较麻烦,这里提供代码,方便大家交流
autoit 解决
二维
数组
动态赋值
autoit 解决
二维
数组
动态赋值
创建动态
二维
数组
.cpp
利用new 操作符 创建动态
二维
数组
,可以从用户接受
数组
行,列
大小
及元素。
c语言中
动态创建
二维
数组
在c语言中
动态创建
二维
数组
,有效利用内存空间。
C++ 语言
64,647
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章