Angelika Langer - Training & Consulting

 
HOME | SEMINARS | TALKS | ARTICLES | BOOKS | LINKS | IOSTREAMS | GENERICS | ABOUT | NEWSLETTER | CONTACT | SITEMAP
Stan Lippman - Inside the C++ Object Model

Books  
HOME 
SEMINARS 
TALKS 
ARTICLES 

BOOKS

  OVERVIEW
  REVIEWS

  BIBLIOGRAPHY    
    J2SE
    J2EE
    CORE C++
    STL
    TEMPLATES
    IOSTREAMS
    CONCURRENCY
    I18N
    PATTERNS
    OOA/OOD
    TESTING
    MANAGEMENT
 

LINKS 
IOSTREAMS 
GENERICS 
ABOUT 
NEWSLETTER 
CONTACT 
SITEMAP 
Stan Lippman - Inside the C++ Object Model
   
  Book Review of the week
 
 
  Inside the C++ Object Model 
  By Stan Lippman 
  Reading,MA:Addison-Wesley Longman 
  ISBN 0-2018-3454-5 
  280 pages 
 
  Price: $34.95 
  (Reviewed 9/20/97) 
 
Exploding Myths about C++ Programming 
Valuable information is still timely
 
I nside the C++ Object Model was published in 1996, written while the programming language C++ was still "under construction" in the sense that the standards committee was still adding and clarifying features. Yet, Inside the C++ Object Model is a book of lasting value even today?two years after its publication and six months after ratification of the language standard.

  Inside the C++ Object Model discusses the object-oriented features of C++?their details, their cost in terms of runtime, compile time, or space overhead. Lippman aims to put to rest many common myths about C++ such as "C++ is bulky and slow" or "C++ does things behind my back." This approach is particularly interesting to C++ programmers who must optimize their programs and want to understand the language thoroughly.

 The book's topics include what data encapsulation costs compared to C-style programming. This subject includes a discussion of member access and inlining of functions. The semantics of construction is covered, including which implicit calls to constructors, destructors, conversions, and copy operations happen, when they happen, and why. The cost of run time polymorphism?for example, virtual functions?and the cost of multiple inheritance in general and virtual inheritance in particular are discussed. Lippman shows what operator new and delete are supposed to do, and why and when temporary objects are created, including how long they live. Lippman answers all these questions, in detail, with competence that is based on his former involvement in the cfront development at Bell Labs.

 After studying Inside the C++ Object Model , you will know a lot about the memory and run time cost of each of the object-oriented features in C++. It enables you to decide for yourself whether a particular C++ language feature is what you need or whether you would rather refrain from using it.

 While the book is sound and comprehensive about the object-oriented language features, it falls short of paying equally intense attention to the newer features. Templates, exception handling, and run-time type information are discussed only briefly. Name spaces are not covered at all. Reading this book now, in 1998, these deficiencies are disappointing, because a lot can be said about the cost of template instantiation or exception handling. But then, the book promises to explain the C++ object model. It does not aim to cover all of what is under the hood of C++, just the object-oriented features?and here it does a perfect job. However, we would love to see a book explaining templates, exception handling, run-time type information, and name spaces at the same level of insight that Lippman brings to Inside the C++ Object Model. 

Angelika Langer develops and teaches classes on advanced C++, STL, multithreading, internationalization, and Java. She has served on the ANSI/ISO C++ Committee since 1993. Klaus Kreft is a software architect and consultant with more than a decade of experience in industrial software development. He works for Siemens Business Services in Germany. Langer and Kreft are working on a book about standard C++ iostreams and locales and are columnists for C++ Report

 

 
© Copyright 1995-2003 by Angelika Langer.  All Rights Reserved.    URL: < http://www.AngelikaLanger.com/Articles/Reviews/LippmanObjectModel/review.htm  last update: 29 Oct 2003