V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
q8164305
V2EX  ›  问与答

如果一个局部变量其他地方也用到,你们会往上提一级么??

  •  
  •   q8164305 · 2018-02-04 08:35:01 +08:00 via Android · 2157 次点击
    这是一个创建于 2490 天前的主题,其中的信息可能已经有所发展或是发生改变。
    8 条回复    2018-02-04 13:38:10 +08:00
    KeepPro
        1
    KeepPro  
       2018-02-04 08:59:29 +08:00 via Android
    skadi
        2
    skadi  
       2018-02-04 09:02:09 +08:00
    看情况. const* 或者 &&,或者其他.
    frank611
        3
    frank611  
       2018-02-04 09:02:37 +08:00 via Android
    我平时图简单,就会在上一级定义下,然后在赋值
    zhujinliang
        4
    zhujinliang  
       2018-02-04 09:09:40 +08:00
    让上一级初始化这个变量再传进来
    zjqzxc
        5
    zjqzxc  
       2018-02-04 10:28:55 +08:00
    其他地方会用到的变量就不能称为局部变量了吧
    0TSH60F7J2rVkg8t
        6
    0TSH60F7J2rVkg8t  
       2018-02-04 11:00:07 +08:00
    看你这个“局部变量”到底是哪种局部变量。如果是真的,只希望局部使用的,但是其值又和外部有关联,同时你不希望紧耦合外部的依赖,那么局部变量就继续保持不变,在构造函数的时候,从外部把值传进来,外部的变量在外部的初始化时赋值。这样等你需要把这个局部模块挑出来放到别的地方的时候,移植就很方便了。不然你移植的时候,还得把上层的那个变量依赖拷贝过来,或者重构脱藕后再才能拿出来用,这就很不方便了。
    otakustay
        7
    otakustay  
       2018-02-04 13:21:10 +08:00
    不会,我选择把各段逻辑拆成函数,再用参数传递
    vegito2002
        8
    vegito2002  
       2018-02-04 13:38:10 +08:00
    小的话当然是直接传, 如果大, 只能提上去然后传指针了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2108 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:32 · PVG 08:32 · LAX 16:32 · JFK 19:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.