使用string时,一定要先使用SetLength()函数吗?
如:
var
   str1:string;
begin
   SetLength(str1, 10);
end;
如果不用函数,会造成内存泄漏等问题吗?

解决方案 »

  1.   

    不需要。如果是动态数组,就要先SetLength
      

  2.   

    一般不需要,但有些WinAPI或自己写的dll函数等调用时需要先申请内存,这时候就需要了
    其实看很多VB的程序,调WinAPI时,经常用xxx = space(yyy)这种方式来事先申请内存,同样的,delphi里如果不用setlength,也可以用 xxx = 'yyy个空格',或者声明变量时,var str :String[yyy];