new 和 delete 的一个问题

polosheng 2002-08-16 06:09:12
今天看到个这么个东东: 有个类的实例(不是new的),不要的时候就delete掉了,不知为什么可以这样用.delete不是只能与new搭配使用吗.注:程序编译通过,运行正常.

请教大家了,谢谢
...全文
38 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
n5 2002-08-16
  • 打赏
  • 举报
回复
new/delete, new[]/delete[], malloc()/free() 必须配对使用。编译器是无法捕捉到混合使用的错误的,但这样的错误导致的后果很难说,可能是崩溃。
没见到过用delete不用new的情况,请把源码贴出来看看。
weihere 2002-08-16
  • 打赏
  • 举报
回复
把帖子贴出来看看
kingsoft111 2002-08-16
  • 打赏
  • 举报
回复
agree kof99th

new 和free
malloc 和delete
是对应的

最好不要混用
kof99th 2002-08-16
  • 打赏
  • 举报
回复
delete会调用析构函数,而free不会,所以new和free,malloc和delete混用会有问题,最好把源码贴出来,在看看是什么问题。
原则上,new和delete要配对。
julyclyde 2002-08-16
  • 打赏
  • 举报
回复
不是new的也可以delete?
new的都在堆里,而直接声明的变量在堆栈里,是不是有点……?
kwok_1980 2002-08-16
  • 打赏
  • 举报
回复
可能它初始化的时候就用了new了!而析构函数没有调用delete呢!
又或没有析构函数!

最好你把源代码贴出来!这样才能明白!
netbian 2002-08-16
  • 打赏
  • 举报
回复
用delete可以删除指针
Yssss1980 2002-08-16
  • 打赏
  • 举报
回复
delete 只能删除指针

还有不是new的,可以是malloc或CreateObject\动态创建的

源码呢?
1127 2002-08-16
  • 打赏
  • 举报
回复
是这样的呀!!
这个是一个内存分配的问题也就是说你可以在内存的堆区的分配就可以用new在关delete关就可以了!!
sandrowjw 2002-08-16
  • 打赏
  • 举报
回复
有嗎﹖這樣肯定倒閉。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧