我定义一个类C,然后用这个类new了一个对象C* c = new C();
但我定义这个类时没有写析构函数,那么我调用delete c会释放对象c的内存空间么?
c++对象内存分配与回收
答案:3 悬赏:20 手机版
解决时间 2021-02-26 20:02
- 提问者网友:战皆罪
- 2021-02-26 16:58
最佳答案
- 五星知识达人网友:掌灯师
- 2021-02-26 18:24
会。
编译器会自动为你制作一个C类的释构函数,里面会释放C中所有成员。
(但是它不会释放指针、引用所指向的成员,因为指针本质上是个 int。)
编译器会自动为你制作一个C类的释构函数,里面会释放C中所有成员。
(但是它不会释放指针、引用所指向的成员,因为指针本质上是个 int。)
全部回答
- 1楼网友:鱼芗
- 2021-02-26 20:33
会,但是要确保类C“里面”没有需要释放的内存空间。比如,你在构造函数中给类C里面的指针new了一个对象,那么必须在析构函数中delete这个指针的空间。
- 2楼网友:由着我着迷
- 2021-02-26 19:43
你不用这两个函数如何分配?
这两个函数是基于内存管理之上的,即内存管理模块将你用的这片内存标注为已用,在你释放之前,其他人就用不了了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯