Stanley B. Lippman
Houtie translation
This book is not about specific C + + programming techniques, it does not cover the language level of C + +, but rather explores how a C + + compiler can implement the object model of C + +. Author Lippman is one of the major developers of the C + + compiler Cfront in the world.
How does C + + 's most important feature inheritance and polymorphism make it possible? What is the efficiency loss of using polymorphism? How is multiple inheritance and virtual inheritance implemented, and how is the efficiency comparison between single and non-virtual inheritance estimated? By explaining the problems and solutions that he encountered when he designed the Cfront compiler, the author explores the object model of C + +, the object of which is not as simple as you see, and the existence of virtual function is not simply to add a virtual keyword, Virtual functions will cause the compiler to add a lot of code to your program. How does a constructor function in multiple inheritance, and when does the compiler synthesize a constructor? Similarly, there are copy constructors. These are very obscure in C + +, and the parts that programmers can't touch directly have answers in this book. If you want to know what your C + + compiler will do with your program or if you want to write more efficient C + + programs, then you should read this book carefully.
This book a lot of content is very obscure, reading is not so carefree, some modern compiler implementation and Cfront is also very different, so should combine practice to understand the content of this book.
Deep Exploration of C + + object Model Reading summary