永发信息网

c++对象内存分配与回收

答案:3  悬赏:20  手机版
解决时间 2021-02-26 20:02
  • 提问者网友:战皆罪
  • 2021-02-26 16:58
我定义一个类C,然后用这个类new了一个对象C* c = new C();
但我定义这个类时没有写析构函数,那么我调用delete c会释放对象c的内存空间么?
最佳答案
  • 五星知识达人网友:掌灯师
  • 2021-02-26 18:24
会。
编译器会自动为你制作一个C类的释构函数,里面会释放C中所有成员。
(但是它不会释放指针、引用所指向的成员,因为指针本质上是个 int。)
全部回答
  • 1楼网友:鱼芗
  • 2021-02-26 20:33
会,但是要确保类C“里面”没有需要释放的内存空间。比如,你在构造函数中给类C里面的指针new了一个对象,那么必须在析构函数中delete这个指针的空间。
  • 2楼网友:由着我着迷
  • 2021-02-26 19:43

你不用这两个函数如何分配?

这两个函数是基于内存管理之上的,即内存管理模块将你用的这片内存标注为已用,在你释放之前,其他人就用不了了

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯