skip to main content
Skip header Section
Inside the C++ object modelMay 1996
Publisher:
  • Addison Wesley Longman Publishing Co., Inc.
  • 350 Bridge Pkwy suite 208 Redwood City, CA
  • United States
ISBN:978-0-201-83454-3
Published:01 May 1996
Pages:
280
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

Inside the C++ Object Model focuses on the underlying mechanisms that support object-oriented programming within C++: 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 in which 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 your programs.Highlights Explores the program behavior implicit in the C++ Object Model's support of object-oriented programming. Explains the basic implementation of the object-oriented features and the trade offs implicit in those features. Examines the impact on performance in terms of program transformation. Provides abundant program examples, diagrams, and performance measurements to relate object-oriented concepts to the underlying object model.If you are a C++ programmer who desires a fuller understanding of what is going on "under the hood," then Inside the C++ Object Model is for you!

Cited By

  1. ACM
    Liu P, Zhao G and Huang J Securing unsafe rust programs with XRust Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, (234-245)
  2. ACM
    El Hajj I, Jablin T, Milojicic D and Hwu W (2017). SAVI objects: sharing and virtuality incorporated, Proceedings of the ACM on Programming Languages, 1:OOPSLA, (1-24), Online publication date: 12-Oct-2017.
  3. ACM
    Ducournau R (2011). Implementing statically typed object-oriented programming languages, ACM Computing Surveys, 43:3, (1-48), Online publication date: 1-Apr-2011.
  4. ACM
    Morandat F and Ducournau R Empirical assessment of C++-like implementations for multiple inheritance Proceedings of the Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems, (1-5)
  5. ACM
    Ducournau R, Morandat F and Privat J (2009). Empirical assessment of object-oriented implementations with multiple inheritance and static typing, ACM SIGPLAN Notices, 44:10, (41-60), Online publication date: 25-Oct-2009.
  6. ACM
    Ducournau R, Morandat F and Privat J Empirical assessment of object-oriented implementations with multiple inheritance and static typing Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications, (41-60)
  7. ACM
    Gil J, Pugh W, Weddell G and Zibin Y (2008). Two-dimensional bidirectional object layout, ACM Transactions on Programming Languages and Systems, 30:5, (1-38), Online publication date: 1-Aug-2008.
  8. ACM
    Ducournau R (2008). Perfect hashing as an almost perfect subtype test, ACM Transactions on Programming Languages and Systems, 30:6, (1-56), Online publication date: 1-Oct-2008.
  9. ACM
    Rosenmüller M, Siegmund N, Saake G and Apel S Code generation to support static and dynamic composition of software product lines Proceedings of the 7th international conference on Generative programming and component engineering, (3-12)
  10. ACM
    Chen J (2007). A typed intermediate language for compiling multiple inheritance, ACM SIGPLAN Notices, 42:1, (25-30), Online publication date: 17-Jan-2007.
  11. ACM
    Chen J A typed intermediate language for compiling multiple inheritance Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (25-30)
  12. ACM
    Preußer T, Zabel M and Spallek R Enabling constant-time interface method dispatch in embedded Java processors Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems, (196-205)
  13. ACM
    Privat J and Ducournau R (2005). Link-time static analysis for efficient separate compilation of object-oriented languages, ACM SIGSOFT Software Engineering Notes, 31:1, (20-27), Online publication date: 1-Jan-2006.
  14. ACM
    Privat J and Ducournau R Link-time static analysis for efficient separate compilation of object-oriented languages Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, (20-27)
  15. ACM
    Stone C (2004). Extensible objects without labels, ACM Transactions on Programming Languages and Systems, 26:5, (805-835), Online publication date: 1-Sep-2004.
  16. ACM
    Sweeney P and Gil J Space and time-efficient memory layout for multiple inheritance Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (256-275)
  17. ACM
    Sweeney P and Gil J (1999). Space and time-efficient memory layout for multiple inheritance, ACM SIGPLAN Notices, 34:10, (256-275), Online publication date: 1-Oct-1999.
  18. ACM
    Panizzi E and Pastorelli B (1999). On the return types of virtual functions, ACM SIGPLAN Notices, 34:6, (37-42), Online publication date: 1-Jun-1999.
  19. ACM
    Kettner L Designing a data structure for polyhedral surfaces Proceedings of the fourteenth annual symposium on Computational geometry, (146-154)
  20. Chuang T, Kuo Y and Wang C Non-intrusive object introspection in C++ Proceedings of the 20th international conference on Software engineering, (312-321)
  21. Hamilton J Montana smart pointers Proceedings of the 3rd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 3, (2-2)
  22. ACM
    Wise G (1996). Objective view point: a cornucopia of C++ resources, XRDS: Crossroads, The ACM Magazine for Students, 3:2, (20-23), Online publication date: 1-Nov-1996.
Contributors
  • Microsoft Corporation

Recommendations