Inside the C++ Object Model focuses on the underlying mechanisms that support object-oriented programming within constructor semantics, temporary generation, support for encapsulation, inheritance and "the virtuals" - virtual functions and virtual inheritance. This book shows how your understanding the underlying implementation models can help you code more efficiently and with greater confidence. Lippman dispells the misinformation and myths about the overhead and complexity associated with C++, while pointing out areas in which costs and trade-offs, sometimes hidden, do exist. He then explains how the various implementation models arose, points out areas where they are likely to evolve, and why they are what they are. He covers the semantic implications of the C++ object model and how that model affects you programs.
The book is of an exceptional quality. Despite its age, many of the things discussed in the book are relevant today. Gives great insights to real C++ implementations (of the time) and some challenges along with possible solutions with their trade-offs. The book does show its age in some parts, but it's an overall great read.
This is an excellent book on the internal design of the cpp language. If someone wants to understand the decoupling of the cpp syntactic sugars and the compiler design, I would totally recommend this book.
The blurb says it all. I can't recommend this book highly enough for anyone who wants to understand how the various abstractions of the C++ language are translated to lower level code. Even if you're not planning on writing blistering fast C++ code, having a confident grasp of what your code does, and how it does it, will invariably help avoid making mistakes and write stronger code.
My only hesitation regarding this book is that I came at it 'from below', as it were - as an assembly programmer wanting to know what the compiler does with my "high-level" C++ code. While I'm sure it will be beneficial to those coming from the other side, who don't understand code at the next level down, I'm not sure they'll get as much benefit from it as I did.
Not a 'fun' read but enormously helpful for anyone who writes C++ code.
Ever wondered what is the cost of inheritance, virtual functions or exception handling? Is C faster than C++? How does the compiler know the type of an object at runtime?
This is definitely a classic. There are many other great books which are overlapping, in terms of content, with each other. But I don't know one of having information which it has.
The book itself can't be termed as dense as no code is without explanation/comments. Regardless, the material covered is quite advanced, so it will not be an easy read.
The book is quite old and does have some typos at some annoying places.
If you are a C++ programmer, or have an interest in C++, I think it is a must-read. Even if you are from Java background, and know a little C++, I think you would be a better programmer after reading it.