关于结构体中内存的释放问题
Posted denghui666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于结构体中内存的释放问题相关的知识,希望对你有一定的参考价值。
对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。
对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。
由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够
把执行构造函数和析构函数的任务强加于malloc/free。因此C++语言需要一个
能完成动态内存分配和初始化工作的运算符new,以及一个能完成清理与释放内存
工作的运算符delete。注意new/delete不是库函数。我们不要企图用malloc/free
来完成动态对象的内存管理,应该用new/delete。由于内部数据类型的“对象”没有构造
与析构的过程,对它们而言malloc/free和new/delete是等价的。
以上是关于关于结构体中内存的释放问题的主要内容,如果未能解决你的问题,请参考以下文章
C 语言结构体 ( 结构体中嵌套一级指针 | 分配内存时先 为结构体分配内存 然后再为指针分配内存 | 释放内存时先释放 指针成员内存 然后再释放结构头内存 )