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的属性和方法并不多,下面我就一一说明。
High | int | 只读,动态数组的上界,即Length-1。 |
Low | int | 只读,动态数组的下界,桓为0。 |
Length | int | 设置/返回动态数组的长度,设为0表示释放数组 |
Copy() | 拷贝一个动态数组的内容到另一动态数组,比如tmp=a_data.Copy();必须两者是相同类型。 | |
CopyRange(int startindex,int count) | 拷贝一个动态数组指定范围的内容到另一动态数组,第一个参数为起始位置,第二个参数为拷贝的个数, | |
= | 赋值。只是生成指向本数组的一个变量名,如果要生成一个副本,就必须用Copy()方法。 | |
== | 比较。 | |
[] | 取下标。 |
这样,我们就可以在BCB中使用动态数组了,在功能强大使用灵活的BCB中使用使用灵活的动态数组,不是一件让人高兴的事情吗?