- Paperback: 304 pages
- Publisher: Addison-Wesley Professional; 1 edition (May 13, 1996)
- Language: English
- ISBN-10: 0201834545
- ISBN-13: 978-0201834543
- Product Dimensions: 6.3 x 0.7 x 9.1 inches
- Shipping Weight: 1 pounds (View shipping rates and policies)
- Average Customer Review: 17 customer reviews
- Amazon Best Sellers Rank: #700,846 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Inside the C++ Object Model 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
Bestselling author Stanley B. Lippman's Inside the C++ Model provides valuable insight into some of the internal workings of the C++ language. This book is a product of a decade of research at Bell Labs (where Lippman worked with C++ inventor Bjarne Stroustrup) and Lippman's considerable C++ expertise. Written with the experienced C++ programmer in mind, this book looks at how key language features are implemented underneath the hood and provides some guidelines when designing C++ classes.
This title first examines how C++ objects work--showing the differences between C++ structures and classes. The author looks carefully at the varieties of C++ constructors, including default and copy constructors, data members, and initialization.
Subsequent sections cover inheritance, including virtual inheritance, and the inner details that will help you create effective and robust data types. The author frequently points out inefficiencies (and efficiencies) that can occur when instantiating objects. The book closes with a tour of more advanced C++ language features, such as templates, exception handling, and run-time type information. This book can help make you the resident C++ language expert at your programming shop. --Richard Dragan
Read the full review for this book.
Inside the C++ Object Model is aimed at those developers who routinely use C++ but feel the discomfort of not really knowing the underlying weight of many common operations they perform or constructs they peruse.
A particularly fit subset of these programmers is made up of the hardcore plumbers who pay their bills writing C++-based programming tools and libraries, or those who assume the uneasy role of the "official code optimizer" in a medium-to-large development team. Each of these programmers are going to immensely appreciate the intensive coverage of the object-oriented features offered by the language, their run-time overhead (in terms of execution time and binary size), and their influence in compilation times. This knowledge constitutes a major aid when it comes time to decide whether a certain language feature fits your needs without breaking your requirements. Moreover, along the way the text is sprinkled with interesting anecdotes explaining why certain common myths regarding C++ are nothing more than unfounded rant. --Davide Marcato, Dr. Dobb's Electronic Review of Computer Books -- Dr. Dobb's Electronic Review of Computer Books
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
Reading this book is important if you are trying to decide whether to code in C or C++. You need to understand the overhead of C++, where it comes from and, at times, how to avoid it.
When debugging an understanding of how the compiler translates C++ code into machine language is essential. Lippmans book does not delve into code generation but it does provide a framework for understanding how the C++ object model is represented in machine language.
I'll be the first to admit that Lippman can go off on to some arcane tangents. He can spend a few pages discussing details that really have minimal effect on code execution. But I'm willing to forgive these diversions because so much of his book has contributed to my understanding of C++ and how it works.
Problem areas however are: * Cursory explanation of how templates, RTTI and exceptions are handled. * Reads more like a `cfront' rationale with examples from other compilers interspersed. That doesn't mean that the examples are limited. Just that it reads more like the author's experiences, rather than a totally objective view. * Doesn't clearly separate run-time effects that are artifacts of a particular implementation from things required by the Standard. * Lots of typos. Many of the figures don't co-incide with the text -- the text explains with one set of variables, and the figures show some other set, with some names transposed.
+ It is well-written and to the point with easy to grasp examples.
+ It is the only book I know that treats the object model specifically and it really goes in depth with things.
+ Even if it's on an "advanced" level it's a pretty fun read - it doesn't make your head hurt.
What I don't like so much about it:
- It's old and some of the examples in the book are hardly valid for current-day compilers. I know that the point the book tries to make is that you have to measure and look at the generated assembly code yourself to be sure. But still in the end the examples may leave people with wrong ideas.
- It's not 100% proofread, especially figures and code contain errors that may be a little confusing.
If you're interested in this stuff it's definitely a good read, even if it's not up there with the real C++ bibles.
Recommend reading it with a compiler. I use Visual C to compile sample code and generate the asm file to see the real code compiler generates. It is rewarding.
The C++ Object Model gets to the "how" of C++. It covers the details of how virtually (ha!) every language features is implemented and what rules a compiler uses to make decisions.
This book is not an easy read. You need to be very comfortable with C++ and be willing to work through lots of code. The explanations are ok, but could be a bit much if you aren't familiar with the full C++ lexicon. That said, if you want to take you C++ knowledge to a new level, this book is the ticket. There is nothing else like it available.
Most recent customer reviews
It's the book, lifting the hood of your car, tearing the transmission apart,...Read more