malloc和new队用法及原理
时间: 2023-04-09 21:03:47 浏览: 130
malloc和new都是用于动态分配内存的函数,但是它们的用法和原理有所不同。malloc是C语言中的函数,用于分配指定大小的内存空间,返回的是void*类型的指针,需要手动进行类型转换。而new是C++中的运算符,用于分配指定类型的内存空间,返回的是指定类型的指针,不需要手动进行类型转换。new还可以调用类的构造函数进行对象的初始化。
在原理上,malloc是通过调用系统函数brk或sbrk来实现内存分配的,而new则是通过调用operator new函数来实现内存分配的。operator new函数实际上也是调用了malloc函数来分配内存,但是它可以被重载,从而实现自定义的内存分配策略。
阅读全文