如题。

解决方案 »

  1.   

    不好意思,把VC和Delphi搞混淆了。我是想问:
    New、Dispose、GetMem、FreeMem的区别和联系?
      

  2.   

    一、New和GetMem都可以为指针类型动态分配内存,并且Delphi不会对由此分配的内存进行管理,即必须有相应的代码对其进行释放,否则内存将“丢失”,直到应用程序结束。
    二、New分配的内存必须由Dispose来释放;GetMem分配的内存必须由FreeMem来释放;
    三、New根据指针类型来自动计算需要分配的内存尺寸;GetMem必须指定尺寸;因此,对于类型指针,一般用New和Dispose来进行管理;对于内存尺寸随机的指针(典型地如PChar),一般用GetMem和FreeMem来进行管理。从另一方面来说,在很多时候用哪一对例程都可以进行动态内存管理。