作者:Matthew Wilson
出版日期:October 21, 2004
出版社:Addison Wesley
页数:624
ISBN:0-321-22877-4
文件格式:CHM
C++, although a marvelous language, isn't perfect. Matthew Wilsonhas been working with it for over a decade, and during that time he hasfound inherent limitations that require skillful workarounds. In thisbook, he doesn't just tell you what's wrong with C++, but offerspractical techniques and tools for writing code that's more robust,flexible, efficient, and maintainable. He shows you how to tame C++'scomplexity, cut through its vast array of paradigms, take back controlover your code–and get far better results.
If you're a long-time C++ developer, this book will help you seeyour programming challenges in new ways–and illuminate powerfultechniques you may never have tried. If you're newer to C++, you'lllearn principles that will make you more effective in all of yourprojects. 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 trueNULL-pointer, flexible memory buffers, Properties, multidimensionalarrays, and Ranges
The CD-ROM contains a valuable variety of C++ compilers, libraries,test programs, tools, and utilities, as well as the author's relatedjournal articles.
New and updated imperfections, along with software libraries andexample code are available online at http://imperfectcplusplus.com.