From the Back Cover
C++ is one of the most popular programming languages, but this fast and powerful language is also notoriously complex. Many useful aspects of C++ remain a mystery to even the most experienced programmers. Too often, programming books concentrate more on the syntax of the language and less on its real-world applications. This code-intensive, practical guide changes that by teaching all facets of C++ development, including effective application design, testing, and debugging. You'll learn simple, powerful techniques used by C++ professionals, little-known features that will make your life easier, and reusable coding patterns that will bring your basic C++ skills to the professional level.
After a quick review of C++ fundamentals, the authors launch into teaching you how to use C++ in your daily work. They show you various programming methodologies and good programming style, as well as ways to increase the quality of your code and improve your programming efficiency. You'll discover how to write cross-language and cross-platform code, how to perform unit testing and regression testing, and how to use the standard C++ library. By the end of the book you'll be armed with a wealth of reusable coding patterns that can be applied to all your projects.
You will be able to master the C++ language with all its idiosyncrasies, and take advantage of its powerful capabilities for large-scale software development.
What you will learn from this book
- Different programming methodologies and high-quality programming styles
- Ways to take advantage of C++ for large-scale software development
- Methods to ensure bug-free code
- An appreciation for object-oriented design
- How to use libraries and patterns to write better codewith less work
- The best ways to manage memory in C++
- Techniques for input and output
Who this book is for
This book is for programmers and developers who want to take their C++ skills to the professional level. Some knowledge of basic C++ or significant experience with C and/or Java is required, as well as a solid foundation in programming fundamentals and familiarity with a compiler.
Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
About the Author
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.