Bibliography

For additional C++ books, articles and more, please visit the Deitel C++ Resource Center at

www.deitel.com/cplusplus

Abrahams, D. and A. Gurtovoy. C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Boston, MA: Addison-Wesley Professional, 2004.

Alexandrescu, A. Modern C++ Design: Generic Programming and Design Patterns Applied. Boston, MA: Addison-Wesley Professional, 2001.

Alhir, S. UML in a Nutshell. Cambridge, MA: O'Reilly & Associates, Inc., 1998.

Almarode, J. "Object Security." Smalltalk Report Vol. 5, No. 3 November/December 1995, 15–17.

American National Standard, Programming Language C++. (ANSI Document ISO/IEC 14882), New York, NY: American National Standards Institute, 1998.

Anderson, A. E. and W. J. Heinze. C++ Programming and Fundamental Concepts. Englewood Cliffs, NJ: Prentice Hall, 1992.

Arciniegas, F. C++ XML. Indianapolis, IN: Sams, 2001.

Arlow, J. and I. Neustadt. UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design, Second Edition. Boston, MA: Addison-Wesley Professional, 2005.

Astle, D. and K. Hawkins. Beginning OpenGL Game Programming. Boston, MA: Course Technology PTR, 2004.

Bar-David, T. Object-Oriented Design for C++. Englewood Cliffs, NJ: Prentice Hall, 1993.

Beck, K. "Birds, Bees, and Browsers—Obvious Sources of Objects." The Smalltalk Report Vol. 3, No. 8, June 1994,13.

Becker, P. "Shrinking the Big Switch Statement." Windows Tech Journal Vol. 2, No. 5, May 1993, 26–33.

Becker, P. "Conversion Confusion." C++ Report October 1993, 26–28.

Berard, E. V. Essays on Object-Oriented Software Engineering: Volume I. Englewood Cliffs, NJ: Prentice Hall, 1993.

Binder, R. V. "State-Based Testing." Object Magazine Vol. 5, No. 4, August 1995, 75–78.

Binder, R. V. "State-Based Testing: Sneak Paths and Conditional Transitions." Object Magazine Vol. 5, No. 6, October 1995, 87–89.

Blum, A. Neural Networks in C++: An Object-Oriented Framework for Building Connectionist Systems. New York, NY: John Wiley & Sons, 1992.

Booch, G. Object Solutions: Managing the Object-Oriented Project. Reading, MA: Addison-Wesley, 1996.

Booch, G. Object-Oriented Analysis and Design with Applications, Third Edition. Reading: MA: Addison-Wesley, 2005.

Booch, G., J. Rumbaugh, and I. Jacobson. The Unified Modeling Language User Guide. Reading, MA: Addison-Wesley, 1999.

Cargill, T. C++ Programming Style. Reading, MA: Addison-Wesley, 1993.

Carroll, M. D. and M. A. Ellis. Designing and Coding Reusable C++. Reading, MA: Addison-Wesley, 1995.

Chonoles, M. J. and J. A. Schardt. UML 2 for Dummies. New York, NY: Wiley Publishing, Inc., 2003.

Coplien, J. O. and D. C. Schmidt. Pattern Languages of Program Design. Reading, MA: Addison-Wesley, 1995.

Dawson, M. Beginning C++ Game Programming. Boston, MA: Course Technology PTR, 2004.

Deitel, H. M, P. J. Deitel and D. R. Choffnes. Operating Systems, Third Edition. Upper Saddle River, NJ: Prentice Hall, 2004.

Deitel, H. M and P. J. Deitel. Java How to Program, Seventh Edition. Upper Saddle River, NJ: Prentice Hall, 2007.

Deitel, H. M. and P. J. Deitel. C How to Program, Fifth Edition. Upper Saddle River, NJ: Prentice Hall, 2007.

Dennis, A., B. H. Wixom and D. Tegarden. Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach, Second Edition. New York, NY: Wiley Publishing, Inc., 2004.

Dewhurst, S. C. C++ Common Knowledge: Essential Intermediate Programming. Boston, MA: Addison-Wesley Professional, 2005.

Donovan, S. C++ Example. Indianapolis, IN: Que, 2001.

Duncan, R. "Inside C++: Friend and Virtual Functions, and Multiple Inheritance." PC Magazine 15 October 1991, 417–420.

Ellis, M. A. and B. Stroustrup. The Annotated C++ Reference Manual. Reading, MA: Addison-Wesley, 1990.

Embley, D. W., B. D. Kurtz and S. N. Woodfield. Object-Oriented Systems Analysis: A Model-Driven Approach. Englewood Cliffs, NJ: Yourdon Press, 1992.

Eriksson, H., D. Fado, B. Lyons and M. Penker. UML 2 Toolkit. New York, NY: Wiley Publishing, Inc., 2003.

Firesmith, D.G. and B. Henderson-Sellers. "Clarifying Specialized Forms of Association in UML and OML." Journal of Object-Oriented Programming May 1998: 47–50.

Flamig, B. Practical Data Structures in C++. New York, NY: John Wiley & Sons, 1993.

Fowler, M. UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition. Reading, MA: Addison-Wesley, 2004.

Giancola, A. and L. Baker. "Bit Arrays with C++." The C Users Journal Vol. 10, No. 7, July 1992, 21–26.

Glass, G. and B. Schuchert. The STL <Primer>. Upper Saddle River, NJ: Prentice Hall PTR, 1995.

Gooch, T. "Obscure C++." Inside Microsoft Visual C++ Vol. 6, No. 11, November 1995, 13–15.

Henricson, M. and E. Nyquist. Industrial Strength C++: Rules and Recommendations. Upper Saddle River, NJ: Prentice Hall, 1997.

International Standard: Programming Languages—C++. ISO/IEC 14882:1998. New York, NY: American National Standards Institute, 1998.

Jacobson, I. "Is Object Technology Software's Industrial Platform?" IEEE Software Magazine Vol. 10, No. 1, January 1993, 24–30.

Jaeschke, R. Portability and the C Language. Indianapolis, IN: Sams Publishing, 1989.

Johnson, L.J. "Model Behavior." Enterprise Development May 2000: 20–28.

Josuttis, N. The C++ Standard Library: A Tutorial and Reference. Boston, MA: Addison-Wesley, 1999.

Karlsson, B. Beyond the C++ Standard Library: An Introduction to Boost. Boston, MA: Addison-Wesley Professional, 2005.

Koenig, A. "What is C++ Anyway?" Journal of Object-Oriented Programming April/May 1991, 48–52.

Koenig, A. "Implicit Base Class Conversions." The C++ Report Vol. 6, No. 5, June 1994, 18–19.

Koenig, A. and B. Stroustrup. "Exception Handling for C++ (Revised)," Proceedings of the USENIX C++ Conference, San Francisco, CA, April 1990.

Koenig, A. and B. E. Moo. Accelerated C++: Practical Programming Example. Boston, MA: Addison-Wesley Professional, 2000.

Koenig, A. and B. E. Moo. Ruminations on C++: A Decade of Programming Insight and Experience. Reading, MA: Addison-Wesley, 1997.

Kruse, R. L. and A. J. Ryba. Data Structures and Program Design in C++. Upper Saddle River, NJ: Prentice Hall, 1999.

Lajoie, J., S. B. Lippman, and B. E. Moo. C++ Primer, Fourth Edition. Boston, MA: Addison-Wesley Professional, 2005.

Langer, A. and K. Kreft. Standard C++ IOStreams and Locales: Advanced Programmer's Guide and Reference. Reading, MA: Addison-Wesley, 2000.

Larman, C. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Third Edition. Upper Saddle River, NJ: Prentice Hall PTR, 2004.

Lee, L., A. Lumsdaine and J. G. Siek. The Boost Graph Library User Guide and Reference Manual. Boston, MA: Addison-Wesley Professional, 2001.

Lippman, S. B. and J. Lajoie. C++ Primer, Third Edition, Reading, MA: Addison-Wesley, 1998.

Lorenz, M. Object-Oriented Software Development: A Practical Guide. Englewood Cliffs, NJ: Prentice Hall, 1993.

Lorenz, M. "A Brief Look at Inheritance Metrics." The Smalltalk Report Vol. 3, No. 8 June 1994, 1, 4–5.

Malik, D.S. C++ Programming: From Problem Analysis to Program Design, Third Edition. Boston, MA: Course Technology, 2006.

Martin, J. Principles of Object-Oriented Analysis and Design. Englewood Cliffs, NJ: Prentice Hall, 1993.

Martin, R. C. Designing Object-Oriented C++ Applications Using the Booch Method. Englewood Cliffs, NJ: Prentice Hall, 1995.

Matsche, J. J. "Object-Oriented Programming in Standard C." Object Magazine Vol. 2, No. 5, January/February 1993, 71–74.

McCabe, T. J. and A. H. Watson. "Combining Comprehension and Testing in Object-Oriented Development." Object Magazine Vol. 4, No. 1, March/April 1994, 63–66.

McGrath, M. C++ Programming in Easy Steps. Southam, Warwickshire, United Kingdom: Computer Step, 2005.

McLaughlin, M. and A. Moore. "Real-Time Extensions to the UML." Dr. Dobb's Journal December 1998: 82–93.

Melewski, D. "UML Gains Ground." Application Development Trends October 1998: 34–44.

Melewski, D. "UML: Ready for Prime Time?" Application Development Trends November 1997: 30–44.

Melewski, D. "Wherefore and What Now, UML?" Application Development Trends December 1999: 61–68.

Meyer, B. Object-Oriented Software Construction, Second Edition. Englewood Cliffs, NJ: Prentice Hall, 1997.

Meyer, B. and D. Mandrioli. Advances in Object-Oriented Software Engineering. Englewood Cliffs, NJ: Prentice Hall, 1992.

Meyers, S. Effective C++: 55 Specific Ways to Improve Your Programs and Designs, Third Edition. Boston, MA: Addison-Wesley Professional, 2005.

Meyers, S. Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library. Reading, MA: Addison-Wesley, 2001.

Muller, P. Instant UML. Birmingham, UK: Wrox Press Ltd, 1997.

Murray, R. C++ Strategies and Tactics. Reading, MA: Addison-Wesley, 1993.

Musser, D. R. and A. A. Stepanov. "Algorithm-Oriented Generic Libraries." Software Practice and Experience Vol. 24, No. 7, July 1994.

Musser, D. R., G. J. Derge and A. Saini. STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library, Second Edition. Reading, MA: Addison-Wesley, 2001.

Nierstrasz, O., S. Gibbs and D. Tsichritzis. "Component-Oriented Software Development." Communications of the ACM Vol. 35, No. 9, September 1992, 160–165.

Pender, T. UML Bible. Wiley Publishing, Inc., 2003.

Perry, P. "UML Steps to the Plate." Application Development Trends May 1999: 33–36.

Pilone, D. and N. Pitman. UML 2.0 in a Nutshell, Second Edition. Sebastopol, CA: O'Reilly Media, Inc., 2005.

Pittman, M. "Lessons Learned in Managing Object-Oriented Development." IEEE Software Magazine Vol. 10, No. 1, January 1993, 43–53.

Plauger, D. "Making C++ Safe for Threads." The C Users Journal Vol. 11, No. 2, February 1993, 58–62.

Podeswa, H. UML for the IT Business Analyst: A Practical Guide to Object-Oriented Requirements Gathering. Boston, MA: Course Technology PTR, 2005.

Pohl, I. C++ Distilled: A Concise ANSI/ISO Reference and Style Guide. Reading, MA: Addison-Wesley, 1997.

Prata, S. C++ Primer Plus, Fifth Edition. Indianapolis, IN: Sams, 2004.

Prieto-Diaz, R. "Status Report: Software Reusability." IEEE Software Vol. 10, No. 3, May 1993, 61–66.

Prosise, J. "Wake Up and Smell the MFC: Using the Visual C++ Classes and Applications Framework." Microsoft Systems Journal Vol. 10, No. 6, June 1995, 17–34.

Ritchie, D. M. "The UNIX System: The Evolution of the UNIX Time-Sharing System." AT&T Bell Laboratories Technical Journal Vol. 63, No. 8, Part 2, October 1984, 1577–1593.

Rosler, L. "The UNIX System: The Evolution of C—Past and Future." AT&T Laboratories Technical Journal Vol. 63, No. 8, Part 2, October 1984, 1685–1699.

Robson, R. Using the STL: The C++ Standard Template Library. New York, NY: Springer Verlag, 2000.

Rubin, K. S. and A. Goldberg. "Object Behavior Analysis." Communications of the ACM Vol. 35, No. 9, September 1992, 48–62.

Rumbaugh, J., M. Blaha, W. Premerlani, F. Eddy and W. Lorensen. Object-Oriented Modeling and Design. Englewood Cliffs, NJ: Prentice Hall, 1991.

Rumbaugh, J., Jacobson, I. and G. Booch. The Unified Modeling Language Reference Manual, Second Edition. Reading, MA: Addison-Wesley, 2005.

Saks, D. "Inheritance." The C Users Journal May 1993, 81–89.

Schildt, H. STL Programming from the Ground Up. Berkeley, CA: Osborne McGraw-Hill, 1999.

Schildt, H. The Art of C++. Berkeley, CA: McGraw-Hill Osborne Media, 2004.

Schlaer, S. and S. J. Mellor. Object Lifecycles: Modeling the World in States. Englewood Cliffs, NJ: Prentice Hall, 1992.

Sedgwick, R. Bundle of Algorithms in C++, Parts 1–5: Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms (Third Edition). Reading, MA: Addison-Wesley, 2002.

Skelly, C. "Pointer Power in C and C++." The C Users Journal Vol. 11, No. 2, February 1993, 93–98.

Snyder, A. "The Essence of Objects: Concepts and Terms." IEEE Software Magazine Vol. 10, No. 1, January 1993, 31–42.

Stepanov, A. and M. Lee. "The Standard Template Library." 31 October 1995 <www.cs.rpi.edu/~musser/doc.ps>.

Stroustrup, B. "The UNIX System: Data Abstraction in C." AT&T Bell Laboratories Technical Journal Vol. 63, No. 8, Part 2, October 1984, 1701–1732.

Stroustrup, B. "What is Object-Oriented Programming?" IEEE Software Vol. 5, No. 3, May 1988, 10–20.

Stroustrup, B. "Parameterized Types for C++." Proceedings of the USENIX C++ Conference Denver, CO, October 1988.

Stroustrup, B. "Why Consider Language Extensions?: Maintaining a Delicate Balance." The C++ Report September 1993, 44–51.

Stroustrup, B. "Making a vector Fit for a Standard." The C++ Report October 1994.

Stroustrup, B. The Design and Evolution of C++. Reading, MA: Addison-Wesley, 1994.

Stroustrup, B. The C++ Programming Language, Special Third Edition. Reading, MA: Addison-Wesley, 2000.

Taylor, D. Object-Oriented Information Systems: Planning and Implementation. New York, NY: John Wiley & Sons, 1992.

Urlocker, Z. "Polymorphism Unbounded." Windows Tech Journal Vol. 1, No. 1, January 1992, 11–16.

Van Camp, K. E. "Dynamic Inheritance Using Filter Classes." The C/C++ Users Journal Vol. 13, No. 6, June 1995, 69–78.

Vilot, M. J. "An Introduction to the Standard Template Library." The C++ Report Vol. 6, No. 8, October 1994.

Voss, G. "Objects and Messages." Windows Tech Journal February 1993, 15–16.

Wang, B. L. and J. Wang. "Is a Deep Class Hierarchy Considered Harmful?" Object Magazine Vol. 4, No. 7, November/December 1994, 35–36.

Weisfeld, M. "An Alternative to Large Switch Statements." The C Users Journal Vol. 12, No. 4, April 1994, 67–76.

Weiskamp, K. and B. Flamig. The Complete C++ Primer, Second Edition. Orlando, FL: Academic Press, 1993.

Wiebel, M. and S. Halladay. "Using OOP Techniques Instead of switch in C++." The C Users Journal Vol. 10, No. 10, October 1993, 105–112.

Wilde, N. and R. Huitt. "Maintenance Support for Object-Oriented Programs." IEEE Transactions on Software Engineering Vol. 18, No. 12, December 1992, 1038–1044.

Wilde, N., P. Matthews and R. Huitt. "Maintaining Object-Oriented Software." IEEE Software Magazine Vol. 10, No. 1, January 1993, 75–80.

Wilson, G. V. and P. Lu. Parallel Programming Using C++. Cambridge, MA: MIT Press, 1996.

Wilt, N. "Templates in C++." The C Users Journal May 1993, 33–51.

Wirfs-Brock, R., B. Wilkerson and L. Wiener. Designing Object-Oriented Software. Englewood Cliffs, NJ: Prentice Hall PTR, 1990.

Wyatt, B. B., K. Kavi and S. Hufnagel. "Parallelism in Object-Oriented Languages: A Survey." IEEE Software Vol. 9, No. 7, November 1992, 56–66.

Yamazaki, S., K. Kajihara, M. Ito and R. Yasuhara. "Object-Oriented Design of Telecommunication Software." IEEE Software Magazine Vol. 10, No. 1, January 1993, 81–87.

Yuzwa, E. Game Programming In C++: Start To Finish. Boston, MA: Charles River Media, 2006.