Online Book Reader

Home Category

Professional C__ - Marc Gregoire [518]

By Root 1561 0
most important, you will finish this book armed with a wealth of reusable ideas that can be applied to your actual daily work.

There are many good reasons to make the effort to be a professional C++ programmer, as opposed to a programmer who knows C++. Understanding the true workings of the language will improve the quality of your code. Learning about different programming methodologies and processes will help you to work better with your team. Discovering reusable libraries and common design patterns will improve your daily efficiency and help you stop reinventing the wheel. All of these lessons will make you a better programmer and a more valuable employee. While this book can’t guarantee you a promotion, it certainly won’t hurt.

HOW THIS BOOK IS STRUCTURED

This book is made up of five parts.

Part I, “Introduction to Professional C++,” begins with a crash course in C++ basics to ensure a foundation of C++ knowledge. Following the crash course, Part I explores C++ design methodologies. You will read about the importance of design, the object-oriented methodology, the importance of code reuse, and how to write readable C++ code.

Part II, “C++ Coding the Professional Way,” provides a technical tour of C++ from the Professional point of view. You will read about how to create reusable classes, and how to leverage important language features such as inheritance. You will also learn about the unusual and quirky parts of the language, techniques for input and output, professional-grade error handling, and how to work with strings and regular expressions. This part also explains the C++ Standard Library, including containers, iterators, algorithms, and how to customize and extend the library to your needs. You will also read about some additional libraries available in the standard such as the libraries to work with time and random numbers.

Part III, “Mastering Advanced Features of C++,” demonstrates how you can get the most out of C++. This part of the book exposes the mysteries of C++ and describes how to use some of its more-advanced features. You will read about the best ways to manage memory in C++, how to implement advanced operator overloading, how to write templates, and how to use multithreaded programming to take advantage of multiprocessor and multicore systems.

Part IV, “C++ Software Engineering,” focuses on writing enterprise-quality software. You’ll read about the engineering practices being used by programming organizations today; software testing concepts, such as unit testing and regression testing; techniques used to debug C++ programs; how to write efficient C++ code; solutions for cross-language and cross-platform code; and how to incorporate design techniques, frameworks, and conceptual object-oriented design patterns into your own code.

The book concludes with a useful chapter-by-chapter guide to succeeding in a C++ technical interview, an annotated bibliography, and a summary of the C++ header files available in the standard. You will also find a practical reference guide to the C++ Standard Library on the supplemental website for this book at www.wrox.com. This reference guide is called “the Standard Library Reference resource on the website” throughout this book.

WHAT YOU NEED TO USE THIS BOOK

All you need to use this book is a computer with a C++ compiler. This book focuses only on parts of C++ that have been standardized, and not on vendor specific compiler extensions.

This book includes new features introduced in the C++11 standard. At the time of this writing, there were no compilers yet supporting all new C++11 features. GCC 4.6 running on Linux and Microsoft Visual C++ 2010 running on Windows were used for testing code samples. GCC 4.6 supports a lot of new features, but not yet all. Examples using the following C++11 features could not be tested with the version of GCC 4.6 that was available:

The final and override keywords

User defined literals

In-class non-static data member initialization

Template aliases

Delegating constructors

Inheriting constructors

The second compiler

Return Main Page Previous Page Next Page

®Online Book Reader