Professional C++

Front Cover
John Wiley & Sons, Aug 13, 2007 - Computers - 864 pages
9 Reviews
  • Geared to experienced C++ developers who may not be familiar with the more advanced features of the language, and therefore are not using it to its full capabilities
  • Teaches programmers how to think in C++-that is, how to design effective solutions that maximize the power of the language
  • The authors drill down into this notoriously complex language, explaining poorly understood elements of the C++ feature set as well as common pitfalls to avoid
  • Contains several in-depth case studies with working code that's been tested on Windows, Linux, and Solaris platforms
  

What people are saying - Write a review

User ratings

5 stars
3
4 stars
4
3 stars
1
2 stars
1
1 star
0

Review: Professional C++

User Review  - Shantanu Sharma - Goodreads

Well written. Perhaps the first book to give a thorough analysis of new features in C++11. Read full review

Review: Professional C++

User Review  - Mattias Santoro - Goodreads

One of the best and most underrated C++ book for the ones that already had good basis in C programming. Read full review

Contents

A Crash Course in C++
1
Diving Deeper into C++
18
Designing Professional C++ Programs
43
Summary
56
Designing with Libraries and Patterns
77
Designing for Reuse
105
Maximizing SoftwareEngineering Methods
119
Coding with Style
135
Customizing and Extending the STL
655
Exploring Distributed Objects
693
CORBA
702
Summary
728
Summary
752
The Factory Pattern
760
The Adapter Pattern
768
The Observer Pattern
778

Using Language Features with Style
151
Gaining Proficiency with Classes and Objects
157
Summary
182
Summary
221
Respect Your Parents
234
Multiple Inheritance
248
Writing Generic Code with Templates
271
Advanced Templates
299
Summary
322
Types and Casts
337
Summary
348
Dynamic Strings
365
Common Memory Pitfalls
374
Demystifying C++ IO
379
Handling Errors
401
Overloading C++ Operators
431
Writing Efficient C++
465
Summary
488
Summary
505
Conquering Debugging
527
Delving into the STL Containers and Iterators
561
Container Adapters
588
Other Containers
611
Summary
618
Function Objects
624
Using an Observer
780
Summary
781
C++ Interviews
783
Designing Professional C++ Programs
784
Designing with Objects
785
Designing with Libraries and Patterns
786
Designing for Reuse
787
Coding with Style
788
Classes and Objects
789
Discovering Inheritance Techniques
792
Writing Generic Code with Templates
793
Effective Memory Management
794
Demystifying C++ IO
795
Handling Errors
796
Writing Efficient C++
797
Developing CrossPlatform and CrossLanguage Applications
798
Conquering Debugging
799
Exploring Distributed Objects
800
Incorporating Techniques and Frameworks
801
Annotated Bibliography
803
General C++
804
IO Streams
805
C++ Templates
806
Design Patterns
811
Copyright

Common terms and phrases

About the author (2007)

Nicholas A. Solter studied computer science at Stanford University, where he earned bachelor of science and master of science degrees, with a concentration in systems. While a student, he worked as a teaching assistant for several classes ranging from introductory computer science for nonmajors to an upperdivision course on group projects and software engineering.
Now a software engineer at Sun Microsystems, Nick programs primarily in C and C++ in his work on high-availability software. His previous work experience includes several stints in the computer game industry. At Digital Media International, he was the lead programmer on the multimedia educational game, The Land Before Time Math Adventure. During an internship at Electronic Arts, he helped develop the Course Architect 2000 golf course–editing tool for the Tiger Woods PGA Tour 2000 game.
In addition to his industry experience, Nick taught C++ for one year as an adjunct professor of computer science at Fullerton College. When not working, Nick enjoys reading, playing basketball, taking care of his son Kai, and spending time with his family.

Scott J. Kleper began his programming career in elementary school, writing adventure games in BASIC for the Tandy TRS-80. As the resident Mac geek at his high school, Scott moved to higher-level languages and released several award-winning shareware applications.
Scott attended Stanford University, where he obtained bachelor of science and master of science degrees in computer science, with a concentration in human-computer interaction. While in college, Scott served as a teaching assistant for classes involving introductory programming, object-oriented design, data structures, GUI frameworks, group projects, and Internet programming.
Since graduating, Scott has served as a lead engineer on the founding teams of several companies and is currently a senior software engineer at Reactivity, Inc. Outside of work, Scott is a compulsive online shopper, an avid reader, and an awful guitarist.

Bibliographic information