C++ Coding Standards Bibliography

Home Blog Talks Books & Articles Training & Consulting


On the
RSS feed November 4: Other Concurrency Sessions at PDC
November 3
: PDC'09: Tutorial & Panel
October 26: Hoare on Testing
October 23
: Deprecating export Considered for ISO C++0x

This is a copy of the Bibliography from C++ Coding Standards, with hyperlinks for your browsing convenience.

[Abelson96]H. Abelson and G. J. Sussman. Structure and Interpretation of Computer Programs (2nd Edition) (MIT Press, 1996).
[Abrahams96]D. Abrahams. “Exception Safety in STLport” (STLport website, 1996).
[Abrahams01a]D. Abrahams. “Exception Safety in Generic Components,” in M. Jazayeri, R. Loos, D. Musser (eds.), Generic Programming: International Seminar on Generic Programming, Dagstuhl Castle, Germany, April/May 1998, Selected Papers, Lecture Notes in Computer Science 1766 (Springer, 2001).
[Abrahams01b]D. Abrahams. “Error and Exception Handling” ([Boost] website, 2001).
[Alexandrescu00a]A. Alexandrescu. “Traits: The else-if-then of Types” (C++ Report, 12(4), April 2000).
[Alexandrescu00b]A. Alexandrescu. “Traits on Steroids” (C++ Report, 12(6), June 2000).
[Alexandrescu00c]A. Alexandrescu and P. Marginean. “Change the Way You Write Exception-Safe Code—Forever” (C/C++ Users Journal, 18(12), December 2000).
[Alexandrescu01]A. Alexandrescu. Modern C++ Design (Addison-Wesley, 2001).
[Alexandrescu01a]A. Alexandrescu. “A Policy-Based basic_string Implementation” (C/C++ Users Journal, 19(6), June 2001).
[Alexandrescu02a]A. Alexandrescu. “Multithreading and the C++ Type System” (InformIT website, February 2002).
[Alexandrescu02b]A. Alexandrescu. “Discriminated Unions (I),” “… (II),” and “… (III)” (C/C++ Users Journal, 20(4,6,8), April/June/August 2002).
[Alexandrescu03a]A. Alexandrescu. “Move Constructors” (C/C++ Users Journal, 21(2), February 2003).
[Alexandrescu03b]A. Alexandrescu. “Assertions” (C/C++ Users Journal, 21(4), April 2003).
[Alexandrescu03c]A. Alexandrescu and P. Marginean. “Enforcements” (C/C++ Users Journal, 21(6), June 2003).
[Alexandrescu03d]A. Alexandrescu and D. Held. “Smart Pointers Reloaded” (C/C++ Users Journal, 21(10), October 2003).
[Alexandrescu04]A. Alexandrescu. "Lock-Free Data Structures" (C/C++ Users Journal, 22(10), October 2004).
[Allison98]C. Allison. C & C++ Code Capsules (Prentice Hall, 1998).
[Austern99]M. H. Austern. Generic Programming and the STL (Addison-Wesley, 1999).
[Barton94]J. Barton and L. Nackman. Scientific and Engineering C++ (Addison-Wesley, 1994).
[Bentley00]J. Bentley. Programming Pearls (2nd Edition) (Addison-Wesley, 2000).
[BetterSCM]Better SCM Initiative website.
[Boost]C++ Boost.
[BoostLRG]“Boost Library Requirements and Guidelines” (Boost website).
[Brooks95]F. Brooks. The Mythical Man-Month (Addison-Wesley, 1975; reprinted with corrections in 1995).
[Butenhof97]D. Butenhof. Programming with POSIX Threads (Addison-Wesley, 1997).
[Cargill92]T. Cargill. C++ Programming Style (Addison-Wesley, 1992).
[C90]ISO/IEC 9899:1990(E), Programming Languages — C (ISO C90 and ANSI C89 standard).
[C99]ISO/IEC 9899:1999(E), Programming Languages — C (revised ISO and ANSI C99 standard).
[C++98]ISO/IEC 14882:1998(E), Programming Languages—C++ (ISO and ANSI C++ standard).
[C++03]ISO/IEC 14882:2003(E), Programming Languages—C++ (updated ISO and ANSI C++ standard including the contents of [C++98] plus errata corrections).
[C++TR104]ISO/IEC JTC1/SC22/WG21/N1711. (Draft) Technical Report on Standard Library Extensions (ISO C++ committee working document, November 2004). This is a near-final draft of the extensions to the C++ standard library due to be published in 2005, including shared_ptr.
[Cline99]M. Cline, G. Lomow, and M. Girou. C++ FAQs (2nd Edition) (Addison-Wesley, 1999).
[Constantine95]L. Constantine. Constantine on Peopleware (Yourdon Press, 1995).
[Coplien92]J. Coplien. Advanced C++ Programming Styles and Idioms (Addison-Wesley, 1992).
[Cormen01]T. Cormen, C. Leiserson, R. Rivest, C. Stein. Introduction to Algorithms (2nd Edition) (MIT Press, 2001).
[CVS]CVS home page.
[Cowan01]C. Cowan, M. Barringer, S. Beattie, and G. Kroah-Hartman. “FormatGuard: Automatic Protection From printf Format String Vulnerabilities” (Proceedings of the 2001 USENIX Security Symposium, August 2001, Washington, D.C.).
[Dewhurst03]S. Dewhurst. C++ Gotchas (Addison-Wesley, 2003).
[Dinkumware-Safe]Dinkum Unabridged Library documentation (Dinkumware Ltd. website).
[Ellis90]M. Ellis and B. Stroustrup. The Annotated C++ Reference Manual (Addison-Wesley, 1990).
[Gamma95]E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley, 1995).
[GnuMake]Gnu make (Gnu website).
[GotW]H. Sutter. Guru of the Week column.
[Henney00]K. Henney. "C++ Patterns: Executing Around Sequences" (EuroPLoP 2000 proceedings).
[Henney01]K. Henney. "C++ Patterns: Reference Accounting" (EuroPLoP 2001 proceedings).
[Henney02a]K. Henney. “Stringing Things Along” (Application Development Advisor, July-August 2002).
[Henney02b]K. Henney. “The Next Best String” (Application Development Advisor, October 2002).
[Henricson97]M. Henricson and E. Nyquist. Industrial Strength C++ (Prentice Hall,1997).
[Horstmann95]C. S. Horstmann. “Safe STL” (1995).
[Josuttis99]N. Josuttis. The C++ Standard Library (Addison-Wesley, 1999).
[Keffer95]T. Keffer. Rogue Wave C++ Design, Implementation, and Style Guide (Rogue Wave Software, 1995).
[Kernighan99]B. Kernighan and R. Pike. The Practice of Programming (Addison-Wesley, 1999).
[Knuth89]D. Knuth. “The errors of TeX” (Software—Practice & Experience, 19(7), July 1989.
[Knuth97a]D. Knuth. The Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) (Addison-Wesley, 1997).
[Knuth97b]D. Knuth. The Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition) (Addison-Wesley, 1997).
[Knuth98]D. Knuth. The Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) (Addison-Wesley, 1998).
[Koenig97]A. Koenig and B. Moo. Ruminations on C++ (Addison-Wesley, 1997).
[Lakos96]J. Lakos. Large-Scale C++ Software Design (Addison-Wesley, 1996).
[Liskov88]B. Liskov. “Data Abstraction and Hierarchy” (SIGPLAN Notices, 23(5), May 1988).
[Martin96a]R. C. Martin. “The Dependency Inversion Principle” (C++ Report, 8(5), May 1996).
[Martin96b]R. C. Martin. “Granularity” (C++ Report, 8(9), October 1996).
[Martin96c]R. C. Martin. “The Open-Closed Principle” (C++ Report, 8(1), January 1996).
[Martin98]R. C. Martin, D. Riehle, F. Buschmann (eds.). Pattern Languages of Program Design 3 (Addison-Wesley, 1998).
[Martin00]R. C. Martin, “Abstract Classes and Pure Virtual Functions” in R. C. Martin (ed.), More C++ Gems (Cambridge University Press, 2000).
[McConnell93]S. McConnell. Code Complete (Microsoft Press, 1993).
[Meyer00]B. Meyer. Object-Oriented Software Construction (2nd Edition) (Prentice Hall, 2000).
[Meyers96]S. Meyers. More Effective C++ (Addison-Wesley, 1996).
[Meyers97]S. Meyers. Effective C++ (2nd Edition) (Addison-Wesley, 1997).
[Meyers00]S. Meyers. “How Non-Member Functions Improve Encapsulation” (C/C++ Users Journal, 18(2), February 2000).
[Meyers01]S. Meyers. Effective STL (Addison-Wesley, 2001).
[Meyers04]S. Meyers and A. Alexandrescu. “C++ and the Perils of Double-Checked Locking, Part1” and “…Part 2” (Dr. Dobb’s Journal, 29(7,8), July and August 2004).
[Miller56]G. A. Miller. “The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information” (The Psychological Review, 1956, vol. 63).
[MozillaCRFAQ]“Frequently Asked Questions About mozilla.org’s Code Review Process” (Mozilla website).
[Murray93]R. Murray. C++ Strategies and Tactics (Addison-Wesley, 1993).
[Musser01]D. R. Musser, G. J. Derge, and A. Saini. STL Tutorial and Reference Guide, 2nd Edition (Addison-Wesley, 2001).
[Parnas02]D. Parnas. “The Secret History of Information Hiding” (Software Pioneers: Contributions To Software Engineering, Springer-Verlag New York, 2002).
[Peters99]T. Peters. "The Zen of Python." (comp.lang.python, June 1999).
[Piwowarski82]P. Piwowarski. “A Nesting Level Complexity Measure” (ACM SIGPLAN Notices, 9/1982).
[Saks99]D. Saks. “Thinking Deeply,” “Thinking Deeper,” and “Thinking Even Deeper” (C/C++ Users Journal, 17(4,5,6), April, May, and June 1999).
[Schmidt01]D. Schmidt, M. Stal, H. Rohnert, F. Buschmann. Pattern-Oriented Software Architecture, Volume 2: Patterns for Concur-rent and Networked Objects (Wiley, 2001).
[SeamonkeyCR]“Seamonkey Code Reviewer’s Guide” (Mozilla website).
[Sedgewick98]R. Sedgewick. Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching (3rd Edition) (Addison-Wesley, 1998).
[STLport-Debug]B. Fomitchev. “STLport: Debug Mode” (STLport website).
[Stroustrup94]B. Stroustrup. The Design and Evolution of C++ (Addison-Wesley, 1994).
[Stroustrup00]B. Stroustrup. The C++ Programming Language (Special 3rd Edition) (Addison-Wesley, 2000).
[Sutter99]H. Sutter. “ACID Programming” (Guru of the Week #61).
[Sutter00]H. Sutter. Exceptional C++ (Addison-Wesley, 2000).
[Sutter02]H. Sutter. More Exceptional C++ (Addison-Wesley, 2002).
[Sutter03]H. Sutter. “Generalizing Observer” (C/C++ Users Journal, 21(9), September 2003).
[Sutter04]H. Sutter. Exceptional C++ Style (Addison-Wesley, 2004).
[Sutter04a]H. Sutter. “Function Types” (C/C++ Users Journal, 22(7), July 2004).
[Sutter04b]H. Sutter. “When and How To Use Exceptions” (C/C++ Users Journal, 22(8), August 2004).
[Sutter04c]H. Sutter. “‘Just Enough’ Thread Safety” (C/C++ Users Journal, 22(9), September 2004).
[SuttHysl01]H. Sutter and J. Hyslop. “Hungarian wartHogs” (C/C++ Users Journal, 19(11), November 2001).
[SuttHysl02]H. Sutter and J. Hyslop. “A Midsummer Night’s Madness” (C/C++ Users Journal, 20(8), August 2002).
[SuttHysl03]H. Sutter and J. Hyslop. “Sharing Causes Contention” (C/C++ Users Journal, 21(4), April 2003).
[SuttHysl04a]H. Sutter and J. Hyslop. “Getting Abstractions” (C/C++ Users Journal, 22(6), June 2004).
[SuttHysl04b]H. Sutter and J. Hyslop. “Collecting Shared Objects” (C/C++ Users Journal, 22(8), August 2004).
[Taligent94]Taligent’s Guide to Designing Programs (Addison-Wesley, 1994).
[Tsai01]T. Tsai and N. Singh. “Libsafe 2.0: Detection of Format String Vulnerability Exploits” (Avaya Labs, March 2001).
[Vandevoorde03]D. Vandevoorde and N. Josuttis. C++ Templates (Addison-Wesley, 2003).
[Webber03]A. B. Webber. Modern Programming Languages: A Practical Introduction (Franklin, Beedle & Associates, 2003).

Copyright © 2009 Herb Sutter