是直接返回申请失败吗? 如题,昨天面试遇到的。
还说new 和 malloc的区别,我说了下new会调用构造函数,然后问我怎么他们分配的区间都是连续的吗?
我说是的,但是好像不太满意,申请的内存空间不都是连续的吗
是直接返回申请失败吗? 如题,昨天面试遇到的。
还说new 和 malloc的区别,我说了下new会调用构造函数,然后问我怎么他们分配的区间都是连续的吗?
我说是的,但是好像不太满意,申请的内存空间不都是连续的吗
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答3.3k 阅读
1.不是返回失败,如果是有多个空间碎片大于申请空间的话,OS会进行倒腾,把空闲的空间块整合为一个大于申请的空间块,然后返回,当然没有的话,就是返回NULL了。
2.肯定是连续的,不然memcpy,memset怎么工作?数组下标怎么去访问呢?至少逻辑地址是连续的。