老生常谈,delete和delete[]的问题

很多人说了new的用delete,new a[]的用delete[]。
现在要问的是new的用delete[]会不会有问题?
现在自己写了一个链表类,在释放函数中不可能知道使用链表的时候用new还是new a[]分配的,所以准备一律用delete[]来释放,不知道会不会有问题。
因为看到有人说new的不能用delete[],所以很疑惑,
希望回答出所以然,解释详细一些。

new和delete对应,new[]和delete[]对应,不能混用.我用的VC6,混用会导致程序崩溃.

链表明显是一个结点一个结点生成的,每个结点肯定都是new出来的,所以释放的时候也应该一个一个的delete
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-14
effective c++里面是这个说法, 具体为什么好像他也没说
这里面有些事情是标准规定的,比如 new 对应 delete , new[]对应 delete[]。 但如果不这么做会是什么结果,也就是说标准之外的情况下的操作结果,应该是实现定义的。 也许有些实现可以delete[]一个new出来的东西,不过既然标准没说这个可以,那么另一个实现出于某种原因把这个搞砸也是正常的了。
如果确实有可能有些东西是new出来的, 看看能不能改用 new[1] ?
第2个回答  2009-05-14
如果是内建类型,char int long这种之类的
直接 delete就可以了

如果是自定义的类
必须是 delete []p;
第3个回答  2009-05-14
这个要对应的。。

老生常谈,delete和delete[]的问题
new和delete对应,new[]和delete[]对应,不能混用.我用的VC6,混用会导致程序崩溃.链表明显是一个结点一个结点生成的,每个结点肯定都是new出来的,所以释放的时候也应该一个一个的delete

你学会的英语单词越多,什么东西就越少拜托各位大神
本人对听力比较自负,所以没怎么听过,结果听力总是拿不到满分^^ 3:单词 这是一个老生常谈的话题,大家知道,单词是英语的基础,没有单词,就好象建大厦没有砖头,只能幻想空中楼阁。但是被单词又被大家认为是最难,最枯燥的事情。基础好的朋友可以通过阅读学单词,但是对基础不好的,这点根本行不通。整篇文章都看不太...

微服务跨语言调用(摘选)
另一方面,和大多数互联网公司一样,千米的开发语言是多样的,大多数后端业务由 java 支撑,而每个业务线有各自开发语言的选择权,便出现了 nodejs,python,go 多语言调用的问题。 跨语言调用是一个很大的话题,也是一个很有挑战的技术活,目前业界经常被提及的解决方案有如下几种,不妨拿出来老生常谈一番: 当我们再聊...

买笔记本要注意哪些方面?
另外,在开机时,要先进入笔记本电脑的主板BIOS里,检查一下BIOS中的序列号和机身的序列号是否一致。三个号都一致的,笔记本电脑的来源基本没有问题,如果有一个不一致,那就要慎重了。怎么在BIOS中查看序列号?开机直接按F2、F12、Delete、F8、Esc来进入BIOS(不同机型按键不同,一般开机的时候都会有提示...

前端浏览器从输入URL到页面展现中间发生过程全面解析
这个问题真的是个老生常谈的问题,作为一个前端或者后端都应该熟记于心,这个过程可以说的很粗糙,也可以详谈,其中展现了许多网络相关的知识点,于是必须要好好整理下。 主要总体来说分为以下几个过程: URL输入 DNS解析 TCP连接(三次握手)连接复用 发送HTTP请求(请求的四部分) 服务器返回HTTP响应 关闭TCP连接(四次...

教学公开课评价怎么写
评课时抓住了特色、优点,既可绕开老生常谈,还可唤起其他听课教师对创新课堂的重视,产生学习效仿的欲望。 小学数学公开课该如何写评价 从教学过程和教学效果两个方面综合评价。 教学过程包括:语言、教态、板书、课堂驾驭能力等。 教学效果包括:师生互动、环节设计、作业反馈等。 比如: x老师的课堂氛围营造的很好,师生...

WannaMine挖矿木马手工处理
关于病毒及木马的问题,都说老生常谈的了,这里就不讲逆向分析的东西,网上毕竟太多。就写一下WannaMine2.0到4.0的手工处理操作。确实,很多时候都被问的烦了。WannaCry勒索与WannaMine挖矿,虽然首次发生的时间已经过去很久了,但依旧能在很多家内网见到这两个,各类杀毒软件依旧无法清除干净,但可以阻断...

如何从u盘重装系统
http:\/\/hi.baidu.com\/nnffnn\/blog\/item\/6e7da751dd3d7a1a367abeea.html 2、下载一个GHOST系统文件,用WINRAR提取GHOST.EXE 和 WINXPSP2.GHO 文件到U盘上。3、插上U盘,开机按DELETE 进入BIOS,设置USB-HDD或者USB-ZIP 启动,保存退出。4、U盘启动DOS后,运行GHOST.EXE ,选择LOCAL-PARTITION-FROM...

CPU占用率过高?教你4招,轻松解决
CPU占用率过高其实是个老生常谈的问题了,只要你的电脑是用得有一段时间的,这个问题你肯定遇到过。那么问题来了,该咋解决呢?我这次是憋着一口气四处找各路“大神”啊,终于给我学到了几招,在这就分享给大家啦!一、在任务管理器中结束相应的进程 按住Ctrl+Alt+Delete键,进入任务处理器页面,...

什么都没打开,电脑CPU占用率却达到了60%
这是一个老生常谈的问题,但很多朋友并不知道什么程序是可以禁止的,什么是不能禁止的,所以很多人并没有进行这一步的工作。有了优化大师这一工作就简单得多了,优化大师的“开机速度优化”会提示您什么可以禁止,什么不能禁止!这样做的好处除了能加快启动速度外,还能提高系统在运行中的稳定性!19、...

相似回答
大家正在搜