- ArrayBsearch
- ArrayCopy
- ArrayCompare
- ArrayFree
- ArrayGetAsSeries
- ArrayInitialize
- ArrayFill
- ArrayIsDynamic
- ArrayIsSeries
- ArrayMaximum
- ArrayMinimum
- ArrayPrint
- ArrayRange
- ArrayResize
- ArrayInsert
- ArrayRemove
- ArrayReverse
- ArraySetAsSeries
- ArraySize
- ArraySort
- ArraySwap
ArrayInsert
从指定索引开始,将来自源数组的指定元素数量插入到接收数组。
bool ArrayInsert(
|
参数
dst_array[]
[in][out] 应该添加的元素的接收数组。
src_array[]
[in] 即将添加的元素的源数组。
dst_start
[in] 从源数组插入元素的接收数组中的索引。
src_start=0
[in] 接收数组的索引,从源数组插入元素。
count
[in] 从源数组中添加的元素的数量。WHOLE_ARRAY表示从指定索引到数组结束的所有元素。
返回值
如果成功返回true,否则返回false。若要获得错误信息,请调用GetLastError()函数。可能错误:
- 5052 ERR_SMALL_ARRAY(start和/或count参数被错误设置或src_array[] 源数组为空),
- 5056 ERR_SERIES_ARRAY(该数组不能更改,指标缓冲区),
- 4006 ERR_INVALID_ARRAY(不允许自复制,或数组类型不同,或具有包含类对象或析构结构的固定大小数组),
- 4005 - ERR_STRUCT_WITHOBJECTS_ORCLASS(数组不包含POD结构,表示不可能进行简单复制),
- 当在ArrayRemove()函数描述中提供了更改dst_array[]接收数组大小时发生的错误。
注意
如果函数用于固定大小的数组,则dst_array[]接收数组本身的大小不变。从dst_start位置开始,接收数组的元素向右移动(最后一个counts元素“脱离”),而从源数组复制的元素则取而代之。
您不能将元素插入到由SetIndexBuffer()函数指定为指标缓冲区的动态数组中。对于指标缓冲区,所有更改大小的操作都通过程序端的执行子系统来完成。
在源数组中,元素从src_start索引开始复制。源数组大小保持不变。将要添加到接收数组中的元素不会链接到源数组元素中。这意味着任何两个数组中元素的后续更改都不会反映在第二个数组中。
例如:
//+------------------------------------------------------------------+
|
另见
ArrayRemove, ArrayCopy, ArrayResize,ArrayFree