跳转至

New 和 malloc

关于 C++ new 和 malloc 的区别,记住这张表格就行了! - 知乎 (zhihu.com)

  • 返回类型
  • 扩张内存大小的区别

malloc:使用 malloc 分配内存后,发现内存不够用,那我们可以通过 realloc 函数来扩张内存大小,realloc 会先判断当前申请的内存后面是否还有足够的内存空间进行扩张,如果有足够的空间,那么就会往后面继续申请空间,并返回原来的地址指针;否则 realloc 会在另外有足够大小的内存申请一块空间,并将当前内存空间里的内容拷贝到新的内存空间里,最后返回新的地址指针。

new:new 没有扩张内存的机制。 * ![[Pasted image 20240507204000.png]]