简单的C语言问题?

析构函数。如图,直接在xyz里面添加delete不行吗?为什么要另外使用析构函数?如果直接在里面添加delete会怎么样?... 析构函数。如图,直接在xyz里面添加delete不行吗?为什么要另外使用析构函数?如果直接在里面添加delete会怎么样? 展开
 我来答
共享人间真情
2020-02-06 · 超过11用户采纳过TA的回答
知道答主
回答量:19
采纳率:85%
帮助的人:7万
展开全部
XYZ()是构造函数,是用来初始化实例对象的成员变量的,比如这里的name,它是一个字符指针类型,其实就是代表一个字符串。在XYZ()中手动给其分配了内存资源,需要在对象销毁的时候释放内存资源,对象销毁的时候系统会自动调用析构函数,也就是~XYZ(),这些是编程语法的归定。所以,delete释放内存资源的操作要放在~XYZ()里,如果你放在XYZ()里,刚new开辟的内存资源就被你delete释放了,那相等于没有开辟内存资源。
注:new,delete操作符是C++中的,C语言中没有,C语言中开辟内存空间用的是malloc,释放用free。
祝你学习愉快!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式