|
发表于 2009-1-7 23:13:02
|
显示全部楼层
话说不管什么语言 string 这个东东都是个不好弄的东东 特别是拼接字符串出现大量的字符串数据,面向对象语言Java 和 .Net 都弄出了StringBuffer StringBuilder之类的用来拼接字符串.而已字符串对象和" "生成的字符串我记得不是一样的. 后者是字符串池.
魔兽中string 的原理不是字符串池吗? 已经存在的字符串直接从池子中取出而不从新创建?
而是一次多一个对象? 我觉得是字符串池.
这样重复一个 I2S(H2I(timer)) 也就只有1个字符串数据被放进池子里而已
话说一次1个钟头的游戏是否能达到100万次不同字符串产生 我觉得是不大可能吧
当然是假设在是字符串池的前提上. 魔兽这东东没像各位深究过,具体我也不清楚.
话说struct中出现了static 这个东东啊.. 这个方法不是会占用内存的静态区? 不过结构体的产生量不是很大 没什么影响.
话说我没有理解LZ这么一段
[codes=jass]
function GetTrkId takes trackable trk returns integer
return ( H2I( trk ) - Trks_InitHandleNumber ) / 4
//注意,这里/4是因为创建一个trackable还要创建trigger,triggeraction,event总共4个handle,所以这里/4就可以了。
endfunction
[/codes]
为什么要除4啊? 有4个句柄就要除以4? 完全没有理解
希望血魔大哥讲解一下 |
|