• 首先,malloc和new申请的都是虚拟内存
  • malloc函数的实质,有一个将可用的内存块连接起来的链表,调用malloc的时候,会沿着链表找一个满足用户需求的内存块。然后将这个内存块一分为二,一块和用户所申请的内存大小相同,另一块返回到链表中。如果用户申请一个大的内存块,空闲链表上可能没有可以满足用户要求的片段,这个时候malloc函数就会请求延时,对链表上的内存进行整理。如果还是不可以的话, 内存申请失败,返回NULL
  • new的话,底层实现还是malloc,在分配失败的时候会抛出bad\_alloc类型的异常

标签: 内存, malloc, 链表, 申请, new

相关文章推荐

添加新评论,含*的栏目为必填