社区
C++ Builder
帖子详情
new与delete 的使用原理?
lxg_123
2001-07-26 08:37:33
那位高手能够讲一讲new 和delete 的原理?
窗体、变量(可能还有别的对象,我不太清楚)在new 出来后,
在什么时候delete ,如果不delete,后果是什么?
...全文
292
13
打赏
收藏
new与delete 的使用原理?
那位高手能够讲一讲new 和delete 的原理? 窗体、变量(可能还有别的对象,我不太清楚)在new 出来后, 在什么时候delete ,如果不delete,后果是什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Wingsun
2001-07-26
打赏
举报
回复
对,new会调用类的构造函数,new通过类的构造函数来初始化实例
delete调用类的析构函数,delete通过析构函数来完成释放的工作。
kimryo
2001-07-26
打赏
举报
回复
小的空间。
kimryo
2001-07-26
打赏
举报
回复
一般动态分配写的空间不建议使用new,使用malloc较好,因为new后,系统会自动分配一个控制这片内存的struct.这在以前的贴子中说的很清楚,搜索一下。
kimryo
2001-07-26
打赏
举报
回复
如果new的是一个Class的话,要调用Constructor,当用完后就delete(这看你的需要,delete会掉用析构函数),而且必须delete,否则会有Memory Leak(内存泄漏),用VC的编译器可以看见.
bluebutterfly
2001-07-26
打赏
举报
回复
哈哈,感谢BCB(:)),我试试,
BCB
2001-07-26
打赏
举报
回复
这些新建的一批button,在同一起始位置出现,设一下它的->Left,->Top就分开了;
新建的一批对象指针要分开保存,比如到数组中
否则 delete 只能删最后一个,其它就没法删了,
因为指针只能指向最后一个,删两次当然要出错了
抬头看路
2001-07-26
打赏
举报
回复
用一个队列或者堆栈保存你这一堆Button,然后从队列或者堆栈中弹出来删掉。
bluebutterfly
2001-07-26
打赏
举报
回复
对不起,我可能没讲清楚,我是在一个buttonA的click事件中 :new 一个对象如TButton * child;然后呢,再另一个buttonB的 click事件中写了delete,然后运行后,我按一下A可以出现一个新的button,按一下B则这个新button消失,然后,如果我连续按几下A,问题一:不知道如何实现排列这几个新建的button,二:就是按了几下A后,应当是出现好几个button才对,然后再按B时就程序就出现问题了,请各位高手指点迷津,一会我给分
BCB
2001-07-26
打赏
举报
回复
new两个对象干什么,
char *p;
p=new char[100]; // 第一次
p=new char[200]; // 错:第二次new后,将第一次的指针值丢失了
bluebutterfly
2001-07-26
打赏
举报
回复
to dalinsky:
你上面讲得很对,可是
我想问一下,我在程序里用了new和delete是配对了,操作一次是对的,就是new一个对象,然后再delete一个对象,可是一旦我按new两个对象然后再delete后就运行错误,我想知道应当如何在程序里写,能实现随意new对象,然后,想让哪个对象delete它就消失,
dalinsky
2001-07-26
打赏
举报
回复
在C++里,只要你使用过new,就一定要一个delete与其相对应,否则,new申请的内存空间将不能被释放出来,但已经不能使用了,如果在一个循环里使用new而没有delete的话,则内存空间将很快被吃掉,轻则程序down掉,重则死机。小心使用!!!
Againstwind
2001-07-26
打赏
举报
回复
up
xycleo
2001-07-26
打赏
举报
回复
老大说的很对1!!!我也是把new和delete看成构造函数和析构函数,
new
/
delete
详解(跑路人笔记)<C++初阶>
文章目录前言
new
/
delete
内置类型举例自定义类型举例
new
失败operator
new
与operator
delete
现式调用构造函数
new
和
delete
的实现
原理
malloc/free和
new
/
delete
的区别小结 前言
new
和
delete
是C++为了类的
使用
方便而创造的操作符,我们在
使用
C++时应该尽量避免
使用
malloc和free而应该转向
使用
new
和
delete
.
new
/
delete
内置类型举例
new
/
delete
类似于malloc/free但是为了搭配我们的C++的新知识也就是类的
C/C++——
new
和
delete
的实现
原理
(详解)
C/C++内存管理1.C/C++内存分布2.C语言中动态内存管理方式2.1malloc/calloc/realloc/free区别3.C++中动态内存管理(
new
和
delete
)3.1
new
/
delete
操作内置类型3.2
new
/
delete
操作自定义类型4.operator
new
和operator
delete
函数4.1operator
new
和operator
delete
底层
原理
4.2operaor
new
和operator
delete
的类专属重载5.
new
和
delete
的实现
原理
6.定位
new
C++:剖析
new
与
delete
实现
原理
文章目录一、二、 一、 之前简单写了一篇关于
new
与
delete
使用
文章:可以先看看这篇文章再回头来看。 C++:
new
与
delete
简单
使用
二、
浅谈 C++ 中的
new
/
delete
和
new
[]/
delete
[]
在 C++ 中,你也许经常
使用
new
和
delete
来动态申请和释放内存,但你可曾想过以下问题呢?
new
和
delete
是函数吗?
new
[] 和
delete
[] 又是什么?什么时候用它们?你知道 operator
new
和 operator
delete
吗?为什么
new
[] 出来的数组有时可以用
delete
释放有时又不行?… 如果你对这些问题都有疑问的话,
new
和
delete
的底层
原理
以及模板
new
/
delete
底层+模板
C++ Builder
13,824
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章