偶久网

 找回密码
 注册会员

QQ登录

只需一步,快速开始

首页 制图资源 制图教学 查看内容

参数传递问题详解

2013-1-9 00:25| 发布者: 邪恶叔| 查看: 1586

先来说说数据传递的几中方式:
1.参数传递:
    最常规的一种方式,将数据作为函数参数来传递,这种传递方式是单向的。在调用函数时,系统分配内存将数据复制到形参的内存中,就是实参向形参的数据传递,而在函数体中再对形参的数据修改时并不会改变实参中的数据,所以是单向的。
实体的引用变量会有所不同,详情见下文。
2.函数体中使用全局变量
   一般应用在不能调用参数的函数中,这种方式在函数中修改变量数据会影响变量。
3.实体的传递
    往往也是以参数传递的方式,将实体的引用变量传递给函数。由于实体本身是全局的,所以对变量的操作会影响实体本身。WE中的实体,如点、单位,对它们的操作,如修改生命值,就会使对应单位生命值改变。主要魔兽底层的单位对象的各个属性也是以全局变量的方式分布,实际是属于第二种情况。至于自定义的对象实体也是一样,对象的基本类型属性也都是全局的,通过编译将对象名作为前缀追加到变量名前,实质也是全局变量。
4.字符串做参数
    由于字符串本身的多样性,可以通过解析字符串来获取各种想要的数据。这样可以减少函数的参数数量,或者处理一般参数较难处理的问题。
即使WE本身字符串有着泄露,但其价值仍是不可忽视的。
返回顶部