C ++中delete和free()之间的区别

在这篇文章中,我们将学习有关delete运算符,free()的知识,在C ++中,delete和free()之间有什么区别?

关于delete和free()的快速介绍

free()函数

基本上,它是用C编程语言使用的,以释放运行时分配的内存,它是一种库函数,也可以出于相同目的在C ++中使用。free()在stdlib.h头文件中声明。

语法

free(pointer_name);

delete运算符

delete是C ++编程语言中的运算符,用于释放运行时分配的内存。

语法

delete pointer_name;

delete运算符和free()函数之间的区别

两者都用于相同的目的,但仍然存在一些差异,差异是:

  1. delete是一个运算符,而它free()是一个库函数。

  2. delete释放已分配的内存并调用析构函数。但是free()取消分配内存但不调用析构函数。

  3. delete比free()之所以快,是因为运算符总是比函数快。