找回密码
 点一下
查看: 921|回复: 10

这样会不会有string泄漏?

[复制链接]
发表于 2009-10-31 20:44:30 | 显示全部楼层 |阅读模式
  1. function a takes nothing returns nothing
  2. local s="abc"
  3. set s=null
  4. endfunction
复制代码


如上,当反复执行这个函数时是反复调用"abc"还是反复创建"abc"?
发表于 2009-10-31 20:46:41 | 显示全部楼层
同样的字符串不会重复创建。但是你每次

I=I+1
s="abc"+I2S(I)

的话就会了,因为每次都是不同的字符串了。
回复

使用道具 举报

 楼主| 发表于 2009-10-31 20:48:25 | 显示全部楼层
哦,知道了,谢谢头目。
回复

使用道具 举报

 楼主| 发表于 2009-10-31 20:51:51 | 显示全部楼层
对了,已经创建的字符串有没有办法释放掉?
回复

使用道具 举报

发表于 2009-10-31 20:52:51 | 显示全部楼层
hmmm,是一个字符串池的概念么?
回复

使用道具 举报

发表于 2009-10-31 21:05:21 | 显示全部楼层
引用第3楼0123456789于2009-10-31 20:51发表的  :
对了,已经创建的字符串有没有办法释放掉?

很遗憾,JASS架构内做不到,除非你利用虚拟机漏洞跳出架构外。
回复

使用道具 举报

 楼主| 发表于 2009-10-31 21:14:49 | 显示全部楼层
哦,那用ClearTextMessagesBJ和DestroyTextTag行不行啊?
回复

使用道具 举报

发表于 2009-11-1 00:21:15 | 显示全部楼层
字符串变量不需要set = null,他不能被释放
回复

使用道具 举报

发表于 2009-11-1 00:22:47 | 显示全部楼层
引用第6楼0123456789于2009-10-31 21:14发表的  :
哦,那用ClearTextMessagesBJ和DestroyTextTag行不行啊?


一个是清屏的,一个是销毁漂浮文字的.你觉得它们对字符串对象会有用么?
回复

使用道具 举报

发表于 2009-11-1 00:31:11 | 显示全部楼层
头目半夜还在游荡啊
回复

使用道具 举报

 楼主| 发表于 2009-11-1 10:26:59 | 显示全部楼层
引用第8楼Renee于2009-11-01 00:22发表的  :



一个是清屏的,一个是销毁漂浮文字的.你觉得它们对字符串对象会有用么?
噢,我把漂浮文字看成字符串了,请原谅我的粗心。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-7-22 06:17 , Processed in 0.030384 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表