参考书目

优质
小牛编辑
133浏览
2023-12-01

下面的大部分出版物都在本书中被引用,虽然很多引用只在致谢中出现。没有引用的出版物前面加的是点而不是编号。

给一个不稳定的因特网URL,我在把它们包含到本参考书目前很踌躇。最后,我觉得即使是一个你每次尝试都无效的URL,知道一个文档曾经在哪里也对在另一个URL找到它有帮助。

我写的东西

[1]Scott Meyers,《Effective C++: 50 Specific Ways to Improve Your Programs and Designs》(第二版), Addison-Wesley,1998,ISBN 0-201-92488-9。也可以在《Effective C++ CD》里找到(参见下面)。
[2]Scott Meyers,《More Effective C++: 35 New Ways to Improve Your Programs and Designs》,Addison-Wesley 1996,ISBN 0-201-63371-X。也可以在《Effective C++ CD》里找到(参见下面)。
·

Scott Meyers,《Effective C++ CD: 85 Specific Ways to Improve Your Programs and Designs》, Addison-Wesley,1999,ISBN 0-201-31015-5。包含上面两本书,一些相关杂志文章,和一些电子出版的创新。要试用这张CD,访问http://meyerscd.awl.com/。要知道它的创新,看看http://zing.ncsl.nist.gov/hfweb/proceedings/meyers-jones/和http://www.microsoft.com/Mind/1099/browsing/browsing.htm。

我没写的东西(但我希望我有)

[3]Nicolai M. Josuitis,《The C++ Standard Library: A Tutorial and Reference》,Addison-Wesley,1999,ISBN 0-201-37926-0。一本不可缺少的书。每个C++程序员都应该有一份拷贝。
[4]Matthew H. Austern,《Generic Programming and the STL》,Addison-Wesley,1999,ISBN 0-201-30956-4。这本书基本上是SGI STL网站http://www.sgi.com/tech/stl/上材料的打印版本。
[5]ISO/IEC《International Standard, Programming Languages -- C++》,参考号码ISO/IEC 14882:1998(E),1998。 描述C++的官方文档。在ANSI花18美元就可以得到PDF,http://webstore.ansi.org/ansidocstore/default.asp。
[6]Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides,《Design Patterns: Elements of Reusable Object-Oriented Software》,Addison-Wesley,1995,ISBN 0-201-63361-2。也可以看《Design Patterns CD》,Addison-Wesley,1998,ISBN 0-201-63498-8。设计模式的权威著作。每个实际的C++程序员应该熟悉这里描述的模式,而且应该可以很容易地翻阅这本书或CD。
[7]Bjarne Stroustrup,《The C++ Programming Language》(第三版),Addison-Wesley,1997,ISBN 0-201-88954-4。我在条款12提到的“资源获取即初始化”惯用法在这本书的第14.4.1节讨论,我在条款36引用的代码在第530页。
[8]Herb Sutter,《Exceptional C++ : 47 Engineering Puzzles, progromming Problems, and Solutions》,Addison-Wesley,2000,ISBN 0-201-61562-2。对我Effective系列的一个值得推崇的补充,即使当时Herb没有让我为它写序,我也会赞美它。
[9]Herb Sutter,《More Exceptional C++: 40 More Engineering Puzzles, Programming Problems, and Solutions》,Addison-Wesley,预计在2001年出版,暂定ISBN 0-201-70434-X。基于我看过的草稿,他看起来完全和它的前辈[8]一样好。
[10]Dov Bulka和David Mayhew,《Efficient C++: Performance Programming Techniques》,Addison-Wesley,2000,ISBN 0-201-37950-3。唯一一本专注于C++效率的书,因此也是最好的。
[11]Matt Austern,“How to Do Case-Insensitive String Comparison”,《C++ Report》,2000年5月。这篇文章很重要,他被复制为本书的附录A。
[12]Herb Sutter,“When Is a Container Not a Container?”,《C++ Report》,1999年5月。可以在http://www.gotw.ca/publications/mill09.htm找到。修订和更新为《More Exceptional C++》[9]的条款6。
[13]Herb Sutter,“Standard Library News: sets and maps”,《C++ Report》,1999年10月。可以在http://www.gotw.ca/publications/mill11.htm找到。修订和更新为《More Exceptional C++》[9]的条款8。
[14]Nicolai M. Josuttis,“Predicates vs. Function Objects”,《C++ Report》,2000年6月。
[15]Matt Austern,“Why You Shouldn't Use set -- and What to Use Instead”,《C++ Report》,2000年4月。
[16]P. J. Plauger,“Hash Tables”,《C/C++ Users Journal》,1998年11月。描述了Dinkumware散列容器的方法(在条款25讨论)以及它与其他竞争者的设计区别。
[17]Jack Reeves,“STL Gotcha's”,《C++ Report》, 1997年1月。可以在http://www.bleading-edge.com/Publications/C++Report/v9701/abstract.htm找到。
[18]Jack Reeves,“Using Standard string in the Real World, Part 2”,《C++ Report》,1999年1月。可以在http://www.bleading-edge.com/Publications/C++Report/v9901/abstract.htm找到。
[19]Andrei Alexandreseu,“Traits: The else-if-then of Types”,《C++ Report》,2000年4月。可以在http://www.creport.com/html/from-pages/view-recent_articles_c.cfm?ArticleID=402找到。
[20]Herb Sutter,“Optimizations That Aren't (In a Multithreaded World)”,《C/C++ Users Journal》,1999年6月。可以在http://www.gotw.ca/publications/optimizations.htm找到。修订和更新为《More Exceptional C++》[9]的条款16。
[21]SGI STL网站,http://www.sgi.com/tech/stl/。条款50总结了这个重要网站的材料。关于STL容器线程安全(它是条款12的动机)的页在http://www.sgi.com/tech/stl/thread_safety.html。
[22]Boost网站,http://www.boost.org/。条款50总结了这个重要网站的材料。
[23]Nicolai M. Josuttis,“User-Defined Allocator”,http://www.josuttis.com/cppcode/allocator.html。这页是Josuttis关于C++标准库[3]优秀的书的网站的一部分。
[24]Matt Austern,“The Standard Librarian: What Are Allocators Good For?”,《C/C++ Users Journal》的C++专家论坛(这个杂志的在线扩展),2000年12月,http://www.cuj.com/documents/s=8000/cujcexp1812austern/。分配器的好资料很难得到。这个专栏补充了条款10和11的材料。它也包含了一个分配器的实现样例。
[25]Klaus Kreft和Angelika Langer,“A Sophisticated Implementation of User-Defined Inserters and Extractors”,《C++ Report》,2000年2月。
[26]Leor Zolman,“An STL Error Message Decryptor for Visual C++”,《C/C++ Users Journal》,2001年7月。这篇文章和它描述的软件可以在http://www.bdsoft.com/tools/stlfilt.html找到。
[27]Bjarne Stroustrup,“Sixteen Ways to Stack a Cat”,《C++ Report》,1990年10月。可以在http://www.research.att.com/~bs/stack_cat.pdf找到。
·Herb Sutter,“Guru of the Week #74: Uses and Abuses of vector”,2000年9月,http://www.gotw.ca/gotw/074.htm。这个测试(和伴随的解决方案)很好地让你想想那些vector相关的问题比如size和capacity(参见条款14),但它也讨论了为什么算法调用比手写循环优越(参见条款43)。
·Matt Austern,“The Standard Librarian: Bitsets and Bit Vectors?”,《C/C++ Users Journal》的C++专家论坛(这个杂志的在线扩展),2001年5月,http://www.cuj.com/experts/1905/austern.htm。这篇文章提供了bitset的信息与它们和vector<bool>的比较,这是我在条款18简要考查的主题。

我写过的(但我希望我没有)

·《Effective C++》勘误表,http://www.aristeia.com/BookErrata/ec++2e-errata.html。
[28]《More Effective C++》勘误表,http://www.aristeia.com/BookErrata/mec++-errata.html。
·《Effective C++ CD》勘误表,http://www.aristeia.com/BookErrata/cd1e-errata.html。
[29]《More Effective C++》auto_ptr更新页,http://www.awl.com/cseng/titles/0-201-63371-X/auto_ptr.html。