首页 > 代码库 > C++Builder 中动态数组的使用(转)

C++Builder 中动态数组的使用(转)

源:http://i.cnblogs.com/EditPosts.aspx?opt=1

    和AnsiString类型一样,动态数组是为了和DELPHI中的动态数组相兼容而定义,在BCB中,动态数组是用模板(template)的方式使用的,动态数组的定义如下:

template class DELPHIRETURN DynamicArray;

    所以我们在使用时必须要指定明确的基本数据类型,比如说要定义一个int类型的动态数组arrayOfInt,其定义格式如下:

DynamicArray arrayOfInt;

    怎么动态改变数组的大小呢?DynamicArray类有一个属性Length,只要简单改变这个值就可以改变数组的大小,例如要把arrayOfInt的长度设为10:

arrayOfInt.Length=10;

    特别提出的是,如果要释放一个动态数组,只要把Length设置为0即可,怎么样?够简单的吧?

    DynamicArray的属性和方法并不多,下面我就一一说明。

Highint只读,动态数组的上界,即Length-1。
Lowint只读,动态数组的下界,桓为0。
Lengthint设置/返回动态数组的长度,设为0表示释放数组
Copy() 拷贝一个动态数组的内容到另一动态数组,比如tmp=a_data.Copy();必须两者是相同类型。
CopyRange(int startindex,int count) 拷贝一个动态数组指定范围的内容到另一动态数组,第一个参数为起始位置,第二个参数为拷贝的个数,
= 赋值。只是生成指向本数组的一个变量名,如果要生成一个副本,就必须用Copy()方法。
== 比较。
[] 取下标。

    这样,我们就可以在BCB中使用动态数组了,在功能强大使用灵活的BCB中使用使用灵活的动态数组,不是一件让人高兴的事情吗?

C++Builder 中动态数组的使用(转)