Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.

 

or
Sign in to turn on 1-Click ordering.
 
   
More Buying Choices
28 used & new from $20.39

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 yours here.
 
  

Imperfect C++: Practical Solutions for Real-Life Programming (Paperback)

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

List Price: $49.99
Price: $43.02 & this item ships for FREE with Super Saver Shipping. Details
You Save: $6.97 (14%)
Usually ships within 1 to 3 weeks.
Ships from and sold by Amazon.com. Gift-wrap available.

14 new from $39.01 14 used from $20.39

Frequently Bought Together

Customers buy this book with Extended STL, Volume 1: Collections and Iterators by Matthew Wilson

Imperfect C++: Practical Solutions for Real-Life Programming + Extended STL, Volume 1: Collections and Iterators
Price For Both: $85.04

Customers Who Bought This Item Also Bought

C++ Common Knowledge: Essential Intermediate Programming

C++ Common Knowledge: Essential Intermediate Programming

by Stephen C. Dewhurst
4.6 out of 5 stars (17)  $29.15
Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions (C++ In-Depth Series)

Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions (C++ In-Depth Series)

by Herb Sutter
4.4 out of 5 stars (11)  $36.51
C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ In-Depth Series)

C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ In-Depth Series)

by Herb Sutter
4.3 out of 5 stars (27)  $37.26
Inside the C++ Object Model

Inside the C++ Object Model

by Stanley B. Lippman
4.7 out of 5 stars (15)  $44.40
Beyond the C++ Standard Library: An Introduction to Boost

Beyond the C++ Standard Library: An Introduction to Boost

by Björn Karlsson
3.6 out of 5 stars (14)  $48.34
Explore similar items

Editorial Reviews

Product Description
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.

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.



See all Editorial Reviews

Product Details

  • Paperback: 624 pages
  • Publisher: Addison-Wesley Professional (October 31, 2004)
  • Language: English
  • ISBN-10: 0321228774
  • ISBN-13: 978-0321228772
  • Product Dimensions: 9.1 x 7.4 x 1.3 inches
  • Shipping Weight: 2.2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars See all reviews (21 customer reviews)
  • Amazon.com Sales Rank: #684,556 in Books (See Bestsellers in Books)

What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(3)
(2)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

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 Reviews

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

 
14 of 16 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
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.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
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 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.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
8 of 10 people found the following review helpful:
5.0 out of 5 stars Advanced Advice for the Pragmatist, December 19, 2004
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
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


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

4.0 out of 5 stars Valuable resouce for C++ practitioners
This book has a lot of valuable information for C++ practitioners. However, its language is sort of terse and could have been more verbose to explain subjects. Read more
Published 12 months ago by Cumhur Guzel

5.0 out of 5 stars Must Have Book
When acquiring this book, was due to its title Practical Solutions for Real-Life Programming my opinions until there is that there are quite excellent books on the market but for... Read more
Published 15 months ago by Cláudio A.

5.0 out of 5 stars A surprise indeed!
"Imperfect C++" was an amazing surprise to me when I read it a year ago, it was the first time I knew that there're so many imperfections in C++, a language I thought I knew quite... Read more
Published 23 months ago by pongba liu

5.0 out of 5 stars Genuinely new C++ material
This is very different from the many 'intermediate C++' books that are on the market. If you've had your fill of reading about pimpls, use of const and which overloaded operators... Read more
Published on February 24, 2007 by Thing with a hook

5.0 out of 5 stars A Stimulating Breath of Fresh Air
I finished "Imperfect C++" last night, and it's definitely my "Book of the Month" (and last month, and the one before that). Read more
Published on November 27, 2006 by adish

5.0 out of 5 stars highly practical, applicable advice
Skipping aside the occasional misstep (here and there in the first part of the book) from this first time author, the material really comes into its own in Part 2. Read more
Published on August 5, 2006 by Jim B

5.0 out of 5 stars a great resource for those whoose problems extend beyond the "i learnt this in class catagory"
ok so you think your a pretty hot c++ programmer, you know your templates from you generics when youve only been awake to minutes and you realise that youve had too many beers... Read more
Published on September 21, 2005 by Joseph T. Lovick

5.0 out of 5 stars Huge amounts of info
My boss recommended this book to me, and despite the size of it I dug right on in. The sumptuous flower on the cover sealed the deal. Read more
Published on August 26, 2005 by Jamie H

5.0 out of 5 stars Brilliant, although has flaws
This book deserves its five-star rating, although it's far from perfect.

I'd rate it as follows:

Part 1
Chap 1 - 8/10
Chap 2 - 7/10... Read more
Published on June 21, 2005 by R.B.

2.0 out of 5 stars Imperfect indeed
I was very disappointed with this book.
The author gives a list of C++ imperfections, but most of them are due to his misunderstanding, rather than the deficiencies in C++... Read more
Published on June 19, 2005 by G Smart

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

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


Active discussions in related forums
  Discussion Replies Latest Post
C# or Java? 28 13 days ago
looking for programming forums 18 18 days ago
   


Product Information from the Amapedia Community

Beta (What's this?)



Look for Similar Items by Category


Great Deals on Magazines

Visit our huge selection of magazine subscriptions often to see the latest special offers and bonuses. Check out magazines like The New Yorker, Wired, and Vanity Fair.
 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Power in the Air

Shop for air nailers
Pneumatic nail guns are the most popular power nailers and are ideal for situations in which mobility is essential.

Shop for air nailers

 

Best Books

Best of the Month
See our editors' picks and more of the best new books on our Best of the Month page.
 

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates