对每个人来说,习惯C++需要一些时间,对于已经熟悉C 的程序员来说, 这个过程尤其令人苦恼。因为C 是C++的子集,所有的C 的技术都可以继续使 用,但很多用起来又不太合适。例如,C++程序员会认为指针的指针看起来很 古怪,他们会问:为什么不用指针的引用来代替呢? C 是一种简单的语言。它真正提供的只有有宏、指针、结构、数组和函数。 不管什么问题,C 都靠宏、指针、结构、数组和函数来解决。而C++不是这样。 宏、指针、结构、数组和函数当然还存在,此外还有私有和保护型成员、函数 重载、缺省参数、构造和析构函数、自定义操作符、内联函数、引用、友元、 模板、异常、名字空间,等等。用C++比用C 具有更宽广的空间,因为设计时 有更多的选择可以考虑。 在面对这么多的选择时,许多C 程序员墨守成规,坚持他们的老习惯。一 般来说,这也不是什么很大的罪过。但某些C 的习惯有悖于C++的精神本质, 他们都在下面的条款进行了阐述。