在C++中,使用malloc申请的内存能否通过delete释放?使用new申请的内存能否用free?
不能。
malloc /free主要为了兼容C,new和delete 完全可以取代malloc /free的。malloc /free的操作对象都是必须明确大小的。
而且不能用在动态类上。new 和delete会自动进行类型检查和,也不需要自己明确内存大小,malloc/free不能执行构造函数与析构函数,所以动态对象它是不行的。
当然从理论上说使用malloc申请的内存是可以通过delete释放的。不过一般不这样写的。而且也不能保证每个C++的运行时都能正常。
评论(2)
内存管理这块小错别字比较多,希望能改进一下
哈哈哈哈哈,哎,日常错别字多,呜呜