在我印象中,C/C++内存分区分为栈区、堆区、全局静态区、文字常量区,但今天偶然看到其中还有一个自由存储区,于是特地百度了一下。
- 关于自由存储区,大家主要的疑问就是和堆区有什么区别。
概括的来说:自由存储区是由new和delete产生的抽象概念,堆是C语言中malloc和free还有操作系统使用的术语,两者并不等价。c++草案对于这一块也没有详细的划分和说明。
关于这点这篇文章说得比较清楚https://www.cnblogs.com/QG-whz/p/5060894.html
在我印象中,C/C++内存分区分为栈区、堆区、全局静态区、文字常量区,但今天偶然看到其中还有一个自由存储区,于是特地百度了一下。
概括的来说:自由存储区是由new和delete产生的抽象概念,堆是C语言中malloc和free还有操作系统使用的术语,两者并不等价。c++草案对于这一块也没有详细的划分和说明。
关于这点这篇文章说得比较清楚https://www.cnblogs.com/QG-whz/p/5060894.html