欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → setubound(X,0) 没有清除数组内容

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3075人关注过本帖树形打印复制链接

主题:setubound(X,0) 没有清除数组内容

帅哥哟,离线,有人找我吗?
无为剑
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2018/3/12 13:05:26 [显示全部帖子]

目前在序列模式下测试确实有点问题。但是在逐K线模式下测试是没有问题的。

请空数组并不能真正从内存除去,为了减小内存碎片,数组存放的内存是不会随意改变的,只是告知数组管理模块这个数组已经被清空,此时数组的下标已经被置为0,好为后面的数组插入做准备。

 

variable:test[]=0;

setubound(test,3);
test[1]:=1;
test[2]:=2;
test[3]:=3;
setubound(test,0);

dd:UBOUND(test),nodraw;

 

在逐K线模式下,通过打印dd变量你就能看出数组的下标已经被清空了,从编程的合理性角度考虑,数组使用前你应该使用UBOUND先判断数组大小,而不是直接暴力使用数组下标来访问数组内容


 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2018/3/12 13:25:08 [显示全部帖子]

下个版本我们会增加一个数组初始化函数来解决你遇到的问题

 回到顶部