new、delete、malloc、free之间的关系
时间: 2023-10-06 10:07:27 浏览: 79
c++面试宝典2012版
new、delete、malloc、free都与内存的动态分配有关。
new、delete是C++中的运算符,用于动态地分配和释放内存。new操作符用于在堆上动态分配内存,返回指向分配的内存的指针;delete操作符用于释放先前分配的内存。new和delete操作符是C++中的高级特性,需要注意的是,new操作符分配的内存可以直接使用,而malloc分配的内存需要使用类型转换才能使用。
malloc、free是C语言中的库函数,用于动态地分配和释放内存。malloc函数用于在堆上动态分配内存,返回指向分配的内存的指针;free函数用于释放先前分配的内存。malloc和free函数是C语言中基本的内存分配函数。
需要注意的是,new和delete是C++的运算符,可以重载,可以进行类型检查;而malloc和free是C语言的函数,不能重载,不能进行类型检查。在C++中,可以使用new和delete来代替malloc和free,而在C语言中,则只能使用malloc和free。
阅读全文