您的当前位置:首页正文

Delphi中的动态数组总结

来源:九壹网

今天做的一个项目中要使用一大串数据进行处理。如何对这一系列的数据进行保存成为一个首要的问题。唉,Delphi啊,你何时才能支持泛型啊。在C#,C++这都不是问题了啊。在Delphi里只有TStringList这个容器可以使用,但是它是处理字符串的。一进一出,需要大量的typecast时间。用链表??不值得。上网一查,呵呵,可以用动态数组。看来我还是一个新手,这个东西我都不知道啊。啥时候Delphi有了这个玩意了。

var

  i:array of integer;

begin

SetLength(i,length);//设置动态数组的长度

以后就可以像正常数组那样操作

有了动态数组就可以随时设置数组的大小,不会像以前那样事先定义数组的大小,对资源造成浪费。

动态数组的本质还是指针,上面的例子。i 就是一个指针类型。可以将两个动态数组之间进行引用赋值,当然了我们也可以将其复制给一个Pointer,只不过意义不大罢了。

var

p:Pointer;

i,j:Array of integer;

begin

end;

使用完了内存当然需要释放了,否则会造成内存泄露。动态数组使用了 reference-counting 技术,所以在使用完后,只需将其赋值为nil即可。

-------------------------------------------------------------------

因篇幅问题不能全部显示,请点此查看更多更全内容

Top