全局变量增加了模块之间的耦合,因为它们常常作为幼稚的模块间消息传递机制的设施存在。

仅仅是把对于值的访问加上了函数形式的包装,我们就获得了可贵的可扩充性。要是再加上函数重载或者给予函数形式参数以默认值,我们就根本不需要怎么改源代码了。

全局变量经常要求延迟到运行期才进行静态初始化。在C++语言中,如果静态变量用来初始化的值不能在编译时就计算妥当,那么这个初始化的动作就会被拖到运行期。

如果该用函数或者class来充当访问全局信息的掮客,初始化动作就会被延后,从而变得安全无误了。

 

Posted on 2011-11-28 21:36  SomethingReview  阅读(178)  评论(0编辑  收藏  举报