| | Imperfect C++ Practical Solutions for Real-Life Programming | By
Matthew Wilson | |  | Publisher | : Addison Wesley Professional | Pub Date | : October 21, 2004 | ISBN | : 0-321-22877-4 | Pages | : 624 | Slots | : 1.0 |
|
C++, although a marvelous language, isn't perfect. Matthew
Wilson has been working with it for over a decade, and during that
time he has found inherent limitations that require skillful
workarounds. In this book, he doesn't just tell you what's wrong
with C++, but offers practical techniques and tools for writing
code that's more robust, flexible, efficient, and maintainable. He
shows you how to tame C++'s complexity, cut through its vast array
of paradigms, take back control over your code--and get far better
results.
If you're a long-time C++ developer, this book will help you see
your programming challenges in new ways--and illuminate powerful
techniques you may never have tried. If you're newer to C++, you'll
learn principles that will make you more effective in all of your
projects. Along the way, you'll learn how to:
Overcome deficiencies in C++'s type system Enforce software design through constraints, contracts, and
assertions Handle behavior ignored by the standard--including issues
related to dynamic libraries, static objects, and threading Achieve binary compatibility between dynamically loading
components Understand the costs and disadvantages of implicit
conversions--and the alternatives Increase compatibility with diverse compilers, libraries, and
operating environments Help your compiler detect more errors and work more
effectively Understand the aspects of style that impact reliability Apply the Resource Acquisition Is Initialization mechanism to a
wide variety of problem domains Manage the sometimes arcane relationship between arrays and
pointers Use template programming to improve flexibility and
robustness Extend C++: including fast string concatenation, a true
NULL-pointer, flexible memory buffers, Properties, multidimensional
arrays, and Ranges
The CD-ROM contains a valuable variety of C++ compilers,
libraries, test programs, tools, and utilities, as well as the
author's related journal articles.
New and updated imperfections, along with software libraries and
example code are available online at
http://imperfectcplusplus.com. |