附录H 精选读物和网上资源
有很多有关C++和编程的优秀图书和网上资源。下述清单只是其中的一些代表作而不是全部,因此还有很多优秀的图书和网站这里没有列出;然后该清单确实具有广泛的代表性。
H.1 精选读物
- Becker, Pete. The C++ Standard Library Extensions. Upper Saddle River, NJ:Addison-Wesley,2007。
本书讨论第一个TR1(Technical Report)库。这是一个可选的C++98库,但C++11包含其大部分元素。涉及的主题包括无序集合模板、智能指针、正则表达式库、随机数库和元组。
- Booch, Grady, Robert A. Maksimchuk, Michael W. Engel, and Bobbi J.Young. Object-Oriented Analysis and Design, Third Edition. Upper Saddle River, NJ:Addison-Wesley, 2007。
本书介绍了OOP概念,讨论了OOP方法,并提供一些示例应用程序,示例是使用C++编写的。
- Cline, Marshall, Greg Lomow and Mike Girou. C++FAQ,Second Edition(C++常见问题解答,第二版)。Reading,MA:Addison-Wesley,1998。
本书解答了多个经常问到的有关C++语言的问题。
- Josuttis, Nicolai M. The C++ Standard Library: A Tutorial and Reference(C++标准库教程和参考手册)。Reading. MA:Addison-Wesley,1999。
本书介绍了标准模板库(STL)以及其他C++库特性,如复数支持、区域和输入/输出流。
- Karlsson, Bjürn. Beyond the C++ Standard Library:An Introduction to Boost. Upper Saddle River,NJ:Addison-Wesley,2006。
顾名思义,本书探讨多个Boost库。
- Meyers, Scott. Effective C++: 55 Specific Ways to Improve Your Programs and Designs, Third Edition。Upper Saddle River,NJ:Addison-Wesley,2005。
本书针对的是了解C++的程序员,提供了55条规定和指南。其中一些是技术性的,如解释何时应定义复制构造函数和赋值运算符;其他一些更为通用,如对is-a和has-a关系的讨论。
- Meyers, Scott. Effctive STL: 50 Specific Ways to Improve Your Use of the Stadard Template Library。Reading,MA:Addison-Wesley,2001。
本书提供了选择容器和算法的指南,并讨论了使用STL的其他方面。
- Meyers, Scott. More Effecitve C++: 35 New Ways to Improve Your Programs and Designs。Reading,MA:Addison-Wesley,1996。
本书秉承了《Effecitve C++》的传统,对语言中的一些较模糊的问题进行了解释,介绍了实现各种目标的方法,如设计智能指针,并反映了C++程序员在过去几年中获得的其他一些经验。
- Musser, David R, Gillmer J. Derge, and Atul Saini. STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library, Second Edition. Reading,MA:Addison-Wesley,2001。
要介绍并演示STL的功能,需要一整本书,该书可满足您的需求。
- Stroustrup, Bjarne. The C++ Programming Language. Third Edition。Reading,MA:Addison-Wesley,1997。
Stroustrup创建了C++,因此这是一部权威作品。不过,如果对C++有一定的了解,将可以很容易地掌握它。它不仅介绍了语言,而且提供了多个如何使用该语言的示例,同时讨论了OOP方法。随着语言的发展,这本书已有多个版本,该版本增加了对标准库元素的讨论,如STL和字符串。
- Stroustrup, Bjarne. The Design and Evolution of C++。Reading,MA:Addison-Wesley,1994。
如果想了解C++的演进过程及其为何以这种方式演进,请阅读该书。
- Vandevoorde, David and Nocoli M. Jpsittos C++Templates: The Complete Guide。Reading,MA:Addison-Wesley,2003。
有关模板的内容很多,该参考手册做了详细介绍。
H.2 网上资源
- ISO/ANSI 2011 C++标准(ISO/IEC 14882:2011)。美国国家标准化组织(ANSI)和国际标准化组织(ISO)都提供。
ANSI提供PDF格式的电子版下载(售价381美元),这通过下述网址订购:
http://webstore.ansi.org
ISO通过下述网址提供该文档的PDF文件下载和光盘,售价都是352瑞士法郎:
www.iso.org
价格可能有变。
- C++FAQ Lite站点可以回答常见问题(英语、汉语、法语、俄语和葡萄牙语),它是Cline等编著的一本图书的删节版本。当前的网址如下:
http://www.parashift.com/C++-faq-lite
- 在下面的新闻组,可以找到有关C++问题的比较中肯的讨论:
group:comp.lang.C++.moderated
- 使用Google、Bing和其他搜索引擎可找到有关特定C++主题的信息。