delete 在c语言中什么意思

Python015

delete 在c语言中什么意思,第1张

delete表示释放堆内存,通常与malloc配对使用。

如下代码:

int *p = malloc(sizeof(int))

// do something

delete p

上面代码片段先是申请了一块堆内存,在使用完的时候,记住需要将堆内存释放,释放方式就是使用delete。否则会发生内存泄漏。

关于堆内存和栈内存区别,题主可以查阅相关书籍

delete()并不是C语言的库函数

delete()在c++中经常用到,但是其实它本身和new对应,并不是函数,而是关键词

在这里,和

sizeof

类似,new

delete

也不是函数,它们都是

C++

定义的关键字,通过特定的语法可以组成表达式。和

sizeof

不同的是,sizeof

在编译时候就可以确定其返回值,new

delete

背后的机制则比较复杂。

delete

就做了两件事情:

调用

指向对象的析构函数,对打开的文件进行关闭。

通过标准库函数

operator

delete

来释放该对象的内存,传入函数的参数为

对象

的值。

与new/delete不同,malloc()/free()才是标准库函数