C ++中“动态存储”的技术定义是什么?

时间:2015-12-31 18:01:08

标签: c++ memory-management stack heap

标题是什么,“C ++中动态存储的技术定义是什么?”我很好奇如何在堆上讨论动态内存分配而不会在我的解释中犯任何错误。

2 个答案:

答案 0 :(得分:1)

来自The C++ Programming Language: Special Edition

  

免费商店,从中明确请求对象的内存   程序以及程序完成后可以再次释放内存的位置   用它(使用newdelete)。当一个程序需要更多免费   store,new从操作系统请求它。通常,   免费商店(也称为动态内存   或者堆)在程序的整个生命周期中都会增长,因为没有   内存永远返回给操作系统供其他人使用   程序

答案 1 :(得分:0)

Detailed Explaination

堆是一堆可以动态使用的内存。

  

假设你想要12kb的内存用于一个对象,那么动态分配器将查看堆中的可用空间列表,选择一个12kb的块,并将其提供给你。

通常,动态内存分配器(malloc,new等)从内存结束开始并向后工作。