引用: 原帖由 chunyang 于 2013-3-3 13:42 发表
全局变量除非必要,否则确实应该尽量少用。
这样是能从一定角度上减少全局变量使用上带来的某些问题,但是不能完全解决。
这个写法,把全局变量变成了局部静态变量,但是给出它的指针后,外部可以读写,和直接访问全局变量一样仍然是有风险的,当然要比直接引用上能给人一点警惕性。
其实全局变量和局部静态变量基本一样,只是访问域由编译器做了不同的控制。它们的生存期和存储区是一致的。或者说在底层特性上是完全一致的,只是在代码上的访问域不同。你对局部静态变量引出了指针,那么这样也就把它变成是全局静态变量来使用,是不是。所以没有完全解决问题的。
全局变量或者引深一下,这些公共的实体都几乎无法回避某些问题。正因为它能被多处访问,它才能解决一些问题。但也因为它能被多处访问,它也有引入问题的可能。所以真正要解决这问题,应该是多注意使用上对不对、合理不合理的问题,而不是想把它搞得即是全局变量又不是全局变量。