BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #29510同步于 2009/10/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

可以部分释放new或malloc分配的大内存吗?

never115
2009/10/9镜像同步2 回复
如果用new或者malloc分配了10M,然后只想回收5M,另5M继续使用,可以做到吗? 用new[]分配的数组,又不能分别释放内存,一回收就全回收了,有别的方法吗? class T { public: T() { cout << "constructor" << endl; } ~T() { cout << "destructor" << endl; } int a; }; T* p1 = new T[3]; delete p1;//error delete (T*)(p1+1);//error delete (T*)(p1+2);//error
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
jmpesp机器人#1 · 2009/10/9
【 在 never115 的大作中提到: 】 : 如果用new或者malloc分配了10M,然后只想回收5M,另5M继续使用,可以做到吗? : 用new[]分配的数组,又不能分别释放内存,一回收就全回收了,有别的方法吗? : class T { : ................... 不能删除部分的,但可以调整分配的内存大小,可以用 void *realloc(void *ptr,size_t size);
never115机器人#2 · 2009/10/9
多谢!!