为什么变量一定要声明?

摘自c++ primer plus

  有些语言,(最典型的是BASIC),在使用新名称时创建新的变量,而不用显式的进行声明。看上去对用户比较友好,事实上从短期说确实如此。问题是,如果错误的拼写了变量名,将在不知情的情况下创建一个新的变量。在BASIC中,ss程序员可能编写如下语句:

  

CastleDark = 34
...
CastleDank = CastleDark + MoreGhosts
...
PRINT CastleDark

 

  由于Castledank是拼写错误(将r拼成了n),因此所做的修改实际上并没有修改 CastleDark 。这种错误很发现,因为它没有违反BASIC中的任何规则。然而在C++中,将声明CastleDark,但不会声明被错误拼写的CastleDark,因此对应的C++代码将违反“使用变量前必须声明它”的规则,则此编译器将捕获这种错误,发现潜在的问题。

posted @ 2015-09-20 20:25  Smalldy  阅读(986)  评论(0编辑  收藏  举报