Practical Solutions for Real-Life Programming

Home Reviews Errata Links Blog Contact

Home

Updated: 8th November 2009
Welcome to the home of Matthew Wilson's book, Imperfect C++, published by Addison-Wesley in 2004. Click through to Amazon.com
    

Imperfect C++ was published in October 2004, and has attracted many favourable comments. This website is intended to be a useful resource for readers (and potential readers) to access errata, access additional material, read reviews and sample material, contact me, and keep up to date with related links.

Matthew's latest book, Extended STL, volume 1: Collections and Iterators, discusses principles and practices of STL extension, many of which are used in the implementation of the WinSTL libraries. It was published by Addison-Wesley in June 2007. You can order it from Amazon now.

     Extended STL, volume 1: Collections and Iterators


Additional Material

I've recently added some additional material: the TSS store sample project and libraries

    

Sample Material

For the moment, whet your appetite on the following sample elements:

    

Table of Contents

Part 1 - Class Types

  
Chapter 1 - Enforcing Design: Constraints, Contracts and Assertions
Chapter 2 - Object Lifetime
Chapter 3 - Resource Encapsulation
Chapter 4 - Data Encapsulation And Value Types
Chapter 5 - Object Access Models
Chapter 6 - Scoping Classes

Part 2 - Surviving The Real World

  
Chapter 7 - ABI
Chapter 8 - Object Across Borders
Chapter 9 - Dynamic Libraries
Chapter 10 - Threading
Chapter 11 - Statics
Chapter 12 - Optimisation

Part 3 - Language Concerns

  
Chapter 13 - Types
Chapter 14 - Arrays And Pointers
Chapter 15 - Values
Chapter 16 - Keywords
Chapter 17 - Syntax
Chapter 18 - Typedefs

Part 4 - Cognisant Conversions

  
Chapter 19 - Casts
Chapter 20 - Shims
Chapter 21 - Veneers
Chapter 22 - Bolt-ins
Chapter 23 - Template Constructors

Part 5 - Operators

  
Chapter 24 - operator bool()
Chapter 25 - Fast, Non-intrusive String Concatenation
Chapter 26 - What's Your Address?
Chapter 27 - Subscript Operators
Chapter 28 - Increment Operators
Chapter 29 - Arithmetic Types
Chapter 30 - Short-circuit!

Part 6 - Extending C++

  
Chapter 31 - Return Value Lifetime
Chapter 32 - Memory
Chapter 33 - Multidimensional Arrays
Chapter 34 - Functors & Ranges
Chapter 35 - Properties

Appendixes

  
Appendix A - Compilers & Libraries
Appendix B - Watch that hubris!
Appendix C - Arturius
Appendix D - The CD

Links to sample chapters from Imperfect C++


Click through to Amazon.com
Valid XHTML 1.0! Imperfect C++ content copyright Addison-Wesley | Additional content copyright Synesis Software Pty Ltd and Greg Peet
Website designed by Greg Peet. Thanks Greg!