回复 21楼 waterstar
给你举一个例子吧:你学C,习惯用全局变量和静态变量么?不鼓励对吧,变量都是尽可能私有的,要在函数间传递或引用数据,主要通过指针。但C++其实鼓励用全局变量,但这个全局性是局限在类中的(因此C#称之为字段,犹如数据库的外部表数据栏),这样,就可以在很大程度避免指针,因为直接就可以访问到外部变量,也不用靠压栈之类传递数据,减少了很多开销。C其实也有近似类这样的局部全程变量,那就是文件模块级的全局变量声明,不用extern声明,别的文件模块是不知道这种变量存在的。
越是精熟C的人,就越是无法转换思维到这个方面,他总是先想数据如何传递给别的函数、如何返回,马上就祭出指针神器,而他的指针技能又精熟无比,极少出现问题,那么,他就越不会想到那个方面去,从而认为根本不需要类设计的,只要针对一个一个具体对象做事即可——指针就是指向具体事物的。这里怪异的逻辑就是,本来是归集在一起的数据,被C分解为独立个体,因此C程序员往往是通过变量命名来识别同类数据的。
[
本帖最后由 TonyDeng 于 2011-12-28 17:07 编辑 ]