偶久网

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索

网站魔兽热门地图

查看: 5416|回复: 6

参数传递问题详解

  [复制链接]
ou99孽缘 title=
发表于 2010-12-16 12:57:45
先来说说数据传递的几中方式:
1.参数传递:
    最常规的一种方式,将数据作为函数参数来传递,这种传递方式是单向的。在调用函数时,系统分配内存将数据复制到形参的内存中,就是实参向形参的数据传递,而在函数体中再对形参的数据修改时并不会改变实参中的数据,所以是单向的。
实体的引用变量会有所不同,详情见下文。
2.函数体中使用全局变量
   一般应用在不能调用参数的函数中,这种方式在函数中修改变量数据会影响变量。
3.实体的传递
    往往也是以参数传递的方式,将实体的引用变量传递给函数。由于实体本身是全局的,所以对变量的操作会影响实体本身。WE中的实体,如点、单位,对它们的操作,如修改生命值,就会使对应单位生命值改变。主要魔兽底层的单位对象的各个属性也是以全局变量的方式分布,实际是属于第二种情况。至于自定义的对象实体也是一样,对象的基本类型属性也都是全局的,通过编译将对象名作为前缀追加到变量名前,实质也是全局变量。
4.字符串做参数
    由于字符串本身的多样性,可以通过解析字符串来获取各种想要的数据。这样可以减少函数的参数数量,或者处理一般参数较难处理的问题。
即使WE本身字符串有着泄露,但其价值仍是不可忽视的。
ou99孽缘 title=
 楼主| 发表于 2010-12-16 12:57:59
{:6_306:}{:6_306:}
钱啊   钱来啊  
gw96123
发表于 2011-10-16 00:41:51
.....................路过
春英zkn
发表于 2012-1-2 05:04:00
真是好人啊~~
879558831 该用户已被删除
发表于 2012-12-30 03:34:15
提示: 作者被禁止或删除 内容自动屏蔽
快速回复 返回顶部 返回列表