Delphi 堆栈 [ heap,堆 和 stack

程序需要的内存空间分为 heap(堆) 和 stack(栈);

heap(堆) 是自由存储区,

stack(栈) 是自动存储区;

使用 heap 需要手动申请、手动释放,

使用 stack 是自动申请、自动释放;

使用 heap 时, 如果只申请不释放, 就会发生"内存泄露";

不需要申请和释放空间的元素, 譬如变量(var)、结构(record)等, 是存与 stack(栈);

反之如需要 Create 和 Free 的对象、需要 GetMem 和 FreeMem 的指针等, 则是存于 heap(堆);

时间上,stack(栈)heap(堆) 快一点点.