4.5 空闲存储空间(free-store)和堆栈空间(stack space)
从概念上讲,一个可执行的C++(www.cppentry.com)程序的内存分为下面3部分:
静态存储空间(static storage)存放程序的文本和静态数据。
在调用operator new函数、malloc函数和其他一些系统特有的函数时,从内存中分配的存储空间叫做空闲存储空间;而且,空闻存储空间的大小是会随着程序执行的过程不断发生变化的。
最后,堆栈空间是指存储自动变量和函数参数的内存;栈存储空间的大小也是会随着程序执行的过程不断发生变化的。
在4.3节我们讨论了减少程序代码大小的多种方法,其中也包括减少程序静态存储空间的方法。在下面这一节里,我们将着重考虑减少空闲存储空间和堆栈空间的方法。