I recently picked up a copy of Imperfect C++ by Matthew Wilson. Purchasing it was a real pain because Amazon.ca said that it was instock, but then after 4 weeks told me they couldn’t get it anymore. At that point I found it on Amazon.com, instock and ready to ship. I asked Amazon.ca about it and they suggested I cancel my order and order it from Amazon.com. I was not impressed, but 2 weeks later I had the book from Amazon.com.
This is a book filled with tips and tricks for writing better C++ code. It specifically sets out to discuss the corners of the C++ language where things get ugly (threading, ABI, design-by-contract, etc) and gives practical suggestions for how best to tackle these tasks. A particular focus is given to execution efficiency.
I would highly recommend this book for people who have a few years of C++ experience and would like to take their understanding to the next level. This book is a very informative read and works well as reference material. I would give this book 5 out of 5 because it stays focused on the material, is organized well (great for reference), and is written well.