2 used & new from £51.83

Have one to sell? Sell yours here
 
 
Imperfect C++: Practical Solutions for Real-Life Programming
 
See larger image
 

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

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

Available from these sellers.


1 new from £51.83 1 used from £87.45

Special Offers and Product Promotions


Customers Viewing This Page May Be Interested in These Sponsored Links

  (What is this?)
   Live C++ Programming Help opens new browser window
LivePerson.com  -  Hundreds of skilled programmers at your service. Low rates! 24/7 
  
 

Customers Who Bought This Item Also Bought

C++ Coding Standards : Rules, Guidelines, and Best Practices

C++ Coding Standards : Rules, Guidelines, and Best Practices

by Herb Sutter
4.0 out of 5 stars (1)  £12.97
Beyond the C++ Standard Library: An Introduction to Boost

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

by Bjorn Karlsson
4.3 out of 5 stars (3)  £21.58
C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series)

C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series)

by David Abrahams
4.0 out of 5 stars (3)  £18.14
C++ Common Knowledge: Essential Intermediate Programming

C++ Common Knowledge: Essential Intermediate Programming

by Stephen C. Dewhurst
4.3 out of 5 stars (3)  £12.68
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.0 out of 5 stars (1)  £18.09
Explore similar items

Product details

  • Paperback: 624 pages
  • Publisher: Addison Wesley; Pap/Cdr edition (4 Nov 2004)
  • Language English
  • ISBN-10: 0321228774
  • ISBN-13: 978-0321228772
  • Product Dimensions: 23 x 18.8 x 3.4 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (5 customer reviews)
  • Amazon.co.uk Sales Rank: 422,803 in Books (See Bestsellers in Books)
  • See Complete Table of Contents

Product Description

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.


Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product)
 
cplusplus
cpp
stl

Your tags: Add your first tag
 

What Do Customers Ultimately Buy After Viewing This Item?

Imperfect C++: Practical Solutions for Real-Life Programming
44% buy the item featured on this page:
Imperfect C++: Practical Solutions for Real-Life Programming 5.0 out of 5 stars (5)
Extended STL: Collections and Iterators v. 1
19% buy
Extended STL: Collections and Iterators v. 1
£21.54
C++ Templates: The Complete Guide
14% buy
C++ Templates: The Complete Guide 5.0 out of 5 stars (3)
£25.19
C++ Coding Standards : Rules, Guidelines, and Best Practices
11% buy
C++ Coding Standards : Rules, Guidelines, and Best Practices 4.0 out of 5 stars (1)
£12.97

 

Customer Reviews

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

 
11 of 11 people found the following review helpful:
5.0 out of 5 stars A Great C++ Journey, 11 Nov 2004
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)



 
3 of 3 people found the following review helpful:
5.0 out of 5 stars Most useful C++ book in last 5 years, 18 Jun 2005
With a very few exceptions - e.g. veneers (Chapter 21) - the contents of this book are just stunningly practical and useful.

Ever wanted to use C++ objects between binary components written in different compilers? (Chapter 8)

Ever needed *real* multidimensional arrays? (Chapter 33)

Did you think that C++ doesn't support efficient Properties, a la Delphi & C#? (Chapter 35)

Ever wanted to know about how to write non-trivial custom cast operators? (Chapter 19)

Want to know how static objects and multi-threading can co-exist? (Chapters 10 & 11)

Interest in applying Design by Contract principles to C++? (Chapter 1)

Need strong typedefs? (Chapter 18)

And the list goes on and on. And, being a fellow Brit, I can't help but warm to the author's sense of humour.

Buy one, and get one for your mum!

D.T.

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



 
2 of 2 people found the following review helpful:
5.0 out of 5 stars Genuinely new C++ material, 24 Feb 2007
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 should be members, it's time to read 'Imperfect C++'.

Be warned, it does take a little while to get going, and the author has a rather unusual writing style, which can best be described as an informal hybrid of Aussie and British. And admittedly the opening part of the book covers material reminiscent of the likes of 'Effective C++', albeit with a stronger emphasis on optimisation.

But once it gets going, there's a whole new world opened up, rather remote from the rarefied atmosphere of more theoretical books. Imperfect C++ has a very 'in the trenches' feel, where you need to write programs that talk to C, and on a Windows platform. None of the book is about object oriented design as such, but has a library designer's appreciation for dealing with operating system quirks.

You know how lots of books have advice along the lines of "NEVER do this" or "ALWAYS do this"? Matthew Wilson takes great delight in providing examples where you might want to do the opposite, and covers a wide variety of topics, including defining a portable boolean, a NULL value, and C#/Pascal/Python-like properties.

Purists will almost certainly dislike the fairly heavy use of macros for some of the solutions here, you'll have to get used to the appearance of code with a plethora of underscores in. And the book assumes a reasonably high level of knowledge of C++. In particular, there's little hand holding. Entire class definitions are often provided, but you won't always get example application code to see it in action. This is a little unfortunate, particularly in the chapters where the author introduces his own idioms. It requires careful concentration to work out the physical layout of some of the solutions (e.g. are these free functions or member functions? In the same namespace or a different namespace?). On the other hand, some readers will no doubt welcome the vigorous thought that is required.

Overall, this is a very different, practical book to most of the C++ books out there, with a very high signal-to-noise ratio. Add it to your C++ recommended reading list.
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

5.0 out of 5 stars A very good book.
The book is presented in good style and covers a wide range of aspects of C++ programming. It even has an attractive cover. Read more
Published on 2 Dec 2005 by Peter Bannister

5.0 out of 5 stars Thought provoking
Just two reservations: I'm not sure that I would use all of the techniques in my own code. The coverage is Windows-centric (not that things are really different on other... Read more
Published on 5 Sep 2005

Only search this product's reviews



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
 

   


Listmania!


Look for similar items by category


Look for similar items by subject


Feedback

Ad

Your Recent History

 (What's this?)

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