Buy New

or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Buy Used
Used - Acceptable See details
$20.42 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Sell Back Your Copy
For a $11.60 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Imperfect C++: Practical Solutions for Real-Life Programming
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Imperfect C++: Practical Solutions for Real-Life Programming [Paperback]

Matthew Wilson (Author)
4.7 out of 5 stars  See all reviews (22 customer reviews)

List Price: $54.99
Price: $40.91 & this item ships for FREE with Super Saver Shipping. Details
You Save: $14.08 (26%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 5 left in stock--order soon (more on the way).
Want it delivered Thursday, February 2? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Sell Back Your Copy for $11.60
Whether you buy it used on Amazon for $16.44 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $11.60.
Used Price$16.44
Trade-in Price$11.60
Price after
Trade-in
$4.84

Book Description

0321228774 978-0321228772 October 31, 2004
C++ is one of the most important languages today, but, as with all languages, it is not perfect. Far from it. Hence the topic (and title) of this book: practical techniques for dealing with problems that arise in C++ programming not because the programmer is inexperienced or incompetent, but because this otherwise powerful language is itself deficient in some respect.This book reduces the frustration and indecision programmers experience everyday when using C++. Far from being stymied by a lack of expressiveness in the language, it is commonly the vast array of potential paradigms and techniques supported by C++ that causes the problems. Too many choices.Too much complexity. Where to begin? Where to go? The author, having himself experienced inherent C++ deficiencies for years, presents detailed solutions for dealing with the aggravating problems they cause programmers.

Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Customers buy this book with Extended STL, Volume 1: Collections and Iterators $44.40

Imperfect C++: Practical Solutions for Real-Life Programming + Extended STL, Volume 1: Collections and Iterators
  • This item: Imperfect C++: Practical Solutions for Real-Life Programming

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Extended STL, Volume 1: Collections and Iterators

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details



Editorial Reviews

From the Back Cover

Imperfect C++

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.


© Copyright Pearson Education. All rights reserved.

About the Author

MATTHEW WILSON is a software development consultant and creator of the STLSoft libraries. He writes a bi-monthly C/C++ Users Journal column on integrating C and C++ with different languages and technologies, as well as an online column for C++ Experts Forum. He has over a decade's experience developing with C++. Currently based in Australia, Wilson holds a Ph.D. from Manchester University (UK).


© Copyright Pearson Education. All rights reserved.


Product Details

  • Paperback: 624 pages
  • Publisher: Addison-Wesley Professional (October 31, 2004)
  • Language: English
  • ISBN-10: 0321228774
  • ISBN-13: 978-0321228772
  • Product Dimensions: 9.2 x 7.4 x 1.1 inches
  • Shipping Weight: 2.2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (22 customer reviews)
  • Amazon Best Sellers Rank: #1,145,941 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

22 Reviews
5 star:
 (18)
4 star:
 (3)
3 star:    (0)
2 star:
 (1)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.7 out of 5 stars (22 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

15 of 17 people found the following review helpful:
5.0 out of 5 stars New answers to old problems, June 24, 2005
By 
Cookie Raver (Somewhere in the western hemisphere ...) - See all my reviews
This review is from: Imperfect C++: Practical Solutions for Real-Life Programming (Paperback)
Nowhere else have I come across a resource containing so many full and effective answers to problems such as:

- how to do multidimensional arrays?
- how to skirt around the priblems of the (lack of a) C++ ABI?
- how to create (usable) strong types?
- how to safely and efficiently work with variable length memory requirements at function/block scope?
- how to understand the baleful nonsense that is C++'s ruleset for integral conversions and promotions and come up with decent extended integer classes?
- how to use master operations to write safe but fast code?
- how to write user-defined cast operations that operate correctly and safely?
- and on and on and on ...

I agree with a couple of the earlier reviewers that some bits could have been left out, but the rest of the book more than makes up for it, so it's still a five-star effort.

What really stands out more than anything else is that the author really does understand the issues, and really has encountered these problems in real work. Some other of the elite C++ set don't give this impression half as well ...

... and I even laughed along at most of his jokes.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


12 of 15 people found the following review helpful:
5.0 out of 5 stars A Great C++ Journey, November 11, 2004
By 
Bjorn Karlsson (Stockholm, Sweden) - See all my reviews
This review is from: Imperfect C++: Practical Solutions for Real-Life Programming (Paperback)
This book is a fantastic source of C++ information, ranging from contract programming, through multi-threading issues, to shims, veneers, and bolt-ins. Haven't heard of the last three? Well, beyond the treatment of topics that are already in your vocabulary, Matthew thoroughly discusses inventions of his own (and/or refinements of existing techniques). I especially enjoyed parts two and three of the book, where the foundation from part one is put to real-world use. As this is, to a large extent, a practical guide to taming the beast that is C++, it fills a hole left open by many other (more theoretical) books. The author has quite a unique writing style, which reflects his colorful personality - resulting in a rewarding and fun read.

In a sea of C++ pop, Imperfect C++ stirs up the water with some soul.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


8 of 10 people found the following review helpful:
5.0 out of 5 stars Advanced Advice for the Pragmatist, December 19, 2004
This review is from: Imperfect C++: Practical Solutions for Real-Life Programming (Paperback)
It's nice to see a book covering intermediate-to-advanced C++ topics for real programmers. It's hard to find a book with so many crucial solutions for production development. No ivory tower drivel here - this book has industrial-strength techniques that will keep you on target. And this is more than just practical C++; this is a usable catalog of powerful software design tactics from someone who really knows. When you hit a wall (you know you will), chances are Matthew can help you over, around, or through - whatever it takes. (And the phraseology from a Brit living Down Under makes for some good entertainment :-).

-- Chuck Allison, Editor, The C++ Source
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews




Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(4)
(2)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject