| title | 动态内存管理 |
|---|
一个进程 (process) 的虚拟内存空间 (virtual memory space) 分为以下几个部分:
| 分类 | 用途 |
|---|---|
| 静态 (static) 内存 | 全局对象;局部静态变量;类的静态数据成员 |
| 栈 (stack) 内存 | 非静态局部对象 |
| 堆 (heap) 内存 | 运行期动态分配的对象 |
其中堆内存就是通常所说的动态 (dynamic) 内存。
需要用到动态内存的场合包括:
- 运行前不知道所需空间,例如容器 (container)。
- 运行前不知道对象的具体类型,例如多态 (polymorphism)。
- 运行时在多个对象之间共享数据。