魔兽地图编辑器吧 关注:64,329贴子:3,827,704
  • 10回复贴,共1

新人又问问题了,关于不同玩家引用局部变量和全局变量

只看楼主收藏回复

比如我要模拟tp效果,用局部变量记录了单位的几个特殊点神么的,如果在同一时间点上,有多个玩家用了tp,那么局部变量会不会乱套?


IP属地:四川1楼2018-08-04 17:41回复
    局部不会。(为什么不自己试一下)


    IP属地:山东来自Android客户端2楼2018-08-04 18:08
    回复
      局部只在当前事件触发的条件下游泳。
      玩家1tp触发一次。
      玩家2tp触发一次。
      属于两次分开的触发。
      所以局部并不冲突。


      3楼2018-08-04 19:57
      收起回复
        不会


        IP属地:四川来自Android客户端4楼2018-08-04 20:52
        回复
          局部


          IP属地:北京来自Android客户端5楼2018-08-05 09:03
          收起回复
            你可以这样简单的理解:同一个函数不存在具备同时执行多个任务的能力,你看起来像一起执行,其实不是的,因为计算机的运算速度极快,你根本感觉不到而已。函数内部的局部变量的本质其实就是内存,全局变量的本质也是内存,根据规定局部变量在函数执行完一次以后就会被回收,意味着同一个名称的局部变量的生命周期只有一次,所以同一个名称的局部变量的不存在冲突,局部变量实际上相当于每一次的执行都会创建另外的一个新的变量(可以理解为自动创建不同名称的全局变量),只是用的是同一个名称(因为上一次的局部变量已经不存在了,所以不会有冲突)。而全局变量的生命周期就很长了,程序结束才会释放内存。


            IP属地:广东来自iPhone客户端6楼2018-08-06 19:18
            收起回复
              不会吧 全局会吧


              IP属地:河南来自Android客户端7楼2018-08-06 22:27
              收起回复