SetLength这个意思是设置数组最多只可以存放数组元素吗?这里“动态”的意思是指跟java里的ArrayList一样可以自动扩容吗?
我在循环里往数组添加元素,如果超出SetLength里的那个值会怎么样?当数组容量不够了,可以再用SetLength加大一点吗
我在循环里往数组添加元素,如果超出SetLength里的那个值会怎么样?当数组容量不够了,可以再用SetLength加大一点吗
解决方案 »
- 寻用Delphi使用Base64解这段编码的办法
- StartOfTheWeek()报错
- SQL 也会算错??? 不知道是怪事还是我菜
- 如何程序更改屏幕的象素点的颜色位数,如16bits/pixel 32bits/pixel
- 今天很奇怪,我的delphi7,编译没错误。但按"."却感应不出属性了!怎么办?!
- 串口问题?(在线等待.....)
- 在线等待有两个表Table1、Table2 我想从Table1表查出记录存到Table2表中
- 各位拉我一把, 说实话如果我实现不了这图表曲线问题我也该换饭碗拉。送200分
- 各位喜欢帮人的高手帮我看看,谢了!(分数,我有1158)
- 请教 delphi 下有什么接口可以提取pdf 文件中的高亮文本
- 怎么POST此格式的数据类型啊。
- delphi 用canvas画的为什么会消失。
是的
这里“动态”的意思是指跟java里的ArrayList一样可以自动扩容吗?
不是
我在循环里往数组添加元素,如果超出SetLength里的那个值会怎么样?
溢出错误,访问了未知的内存地址
当数组容量不够了,可以再用SetLength加大一点吗
可以
SetLength(SList, N + 1);
SList[N] := 'abc';其中的要点是:用 SetLength 扩展数组后不会改变原有的值。这种逐项扩展的方式很精确紧凑,缺点是要反复申请内存,如果数组非常大,就要事先给数组预留空间。当然那可能会浪费一些内存,代码也要繁琐些。