微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 删除指针是什么意思?

正在删除一个与释放指针一样的指针(分配内存)?

解决方法

删除一个指针(或删除它指向什么,或者)意味着
delete p;
delete[] p; // for arrays

p在该声明之前被分配了

p = new type;

它也可以指使用动态内存管理的其他方式,如免费

free(p);

这是以前使用malloc或calloc分配的

p = malloc(size);

后者通常被称为“释放”,而前者通常被称为“删除”. delete用于具有析构函数的类,因为除释放内存之外,delete将调用析构函数.免费(和malloc,calloc等)用于基本类型,但是在C new和delete中也可以使用它们,所以没有太多的理由在C中使用malloc,除了兼容性原因.

原文地址:https://www.jb51.cc/c/115539.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐