1.13 C++ 与本书的一般说明
C++是个复杂的语言。熟练的C++程序员有时以能够编写一些稀奇古怪的小程序为荣,这可不是好的编程习惯,因为这样会使程序更难阅读、更难测试和调试,也很难根据需求改变而改变。本书面向初学的程序员,因此我们强调情晰性。下面是第一个编程技巧。
编程技巧1.1
C++程序应以简单和直接的方式编写,称为KIS(“keep it simple ,保持简单),不要使用不常用的方法任意地扩大程序。
本书提供了许多编程技巧,帮助读者养成良好习惯,编写更清晰、更易懂、更易维护、更易测试和调试的代码。这些技巧只是个指导原则,读者完全可以选择自己喜欢的编程风格。我们还介绍常见编程错误(在程序中要注意各种问题以避免这些错误)、性能提示(使程序的运行速度更快和使用更少内存的方法)、可移植性提示(帮助编写不经修改或稍作修改即可在其他计算机上运行的程序)、软件工程视点(影响和提高软件系统总体结构的概念和思想,特别是大型软件系统)和测试与调试提示(测试程序以找出和消除缺陷的提示)。
前面曾介绍过,C和C++是可移植语言,C和C++编写的程序可以在许多不同计算机上运行。可移植性是个重要目标。ANSI C语言标准文档(见参考文献An 90)中列出了大量移植性问题,还有介绍移植性问题的专著(见参考文献Ja89和Ra90)。
可移植提示1.3
尽管可以编写可移植程序,但不同的C和C++编泽器和不同计算机的许多问题使移植性难以实现。C或C++写成的程序并不一定是可移植程序。程序员通常需要立接涉及不同的编泽嚣和不同的计算机。
前面介绍了ANSI/ISO C++草案标准文档的演变过程和检查了其完整性与准确性。但C++是个丰富的语言,其中有些细节和高级课题是我们所没有介绍的。如果需要C++的详细技术信息,可以阅读这个文档的最新草案。从下列web站点可以取得草案:
http://www.cygnus.com/m13c/wP/
我们列出了关于C++和面向对象编程的大量文献与图书目录,还列出了C++资源目录,包含许多与C++和面向对象编程的有关Web站点。
当前C++版本的特性与旧版本的不兼容,因此本文中的某些程序也许无法在旧版的C++编译器中工作。
编程技巧1.2
阅读所使用的C++版本的手册,经常翻阅这些手册,能够知道C++的丰富特性并正确使用这些特性。
编程技巧1.3
使用计算机和编泽器有助于学习C++。如果阅读所用C++版本的手册之后还不知道C++工作的特性,可以试用一个小的则试程序(test program),看看其如何工作。设置编泽器这项为最大警告(maximum warning)。注意编译程序时出现的每个消息,并纠正问题,消除这些消息。