【发布时间】:2011-11-11 14:50:30
【问题描述】:
全局变量通常被认为是一种糟糕的编程习惯
在 C 语言中,静态变量(即具有模块(文件)范围的变量)是否认为可以?
我的想法是,面向对象语言中的成员变量的危险性不能比 C 中的静态变量小很多,而且成员变量似乎被认为是一件好事。
我厌倦了通过多个函数传递参数,并且可以看到静态变量对此的吸引力,特别是如果它们是const。
但我很想知道这是否令人不悦 - 以及在其多个方法中使用成员变量的大对象与包含几个使用静态变量的函数?
【问题讨论】:
-
为什么要关闭它?这是很多程序员应该好奇的一个很好的具体问题。
-
非常感谢在问题结束之前偷偷提供的答案 - 他们帮助我澄清了问题。
-
令人难以置信的是,他们如何以“不具建设性”为由结束这样的问题,但在每个“建设性”的答案中,人们都会插入“但你不应该这样做你应该这样做,因为是的,这就是我们在现实世界中的做法”
-
“好”SO 问题的范围实际上相当狭窄,并且严格执行了界限。我想这也可能是我的第一个问题,版主对那些声望很低的人肯定更严厉!