C ++中delete和free之间的区别是什么?C ++的默认析构函数调用了哪一个?

问题描述 投票:-3回答:1

C ++中delete和free之间的区别是什么?C ++的默认析构函数调用了哪一个?

c++ memory-management memory-leaks
1个回答
0
投票

构造函数用于初始化数据类型。析构函数用于在数据类型离开范围或被删除后进行清理。如果实例是自动的还是其他的,都不关心。

新建和删除是在免费商店中为数据类型分配空间的关键字,并调用构造函数对其进行初始化(或者使用析构函数对其进行清理)。

Malloc和free是管理堆的C语言函数。大多数类型的免费存储都是使用堆实现的 - 换句话说,new / delete通常会导致调用malloc和free。

© www.soinside.com 2019 - 2024. All rights reserved.