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...
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! Get a value-added service! Try out all the examples from this book at www.codesaw.com. CodeSaw is a free online learning tool that allows you to experiment with live code from your book right in your browser. 0201834545B11102003
作者简介
· · · · · ·
Stanley B. Lippman的工作是提供关于C++和面向对象的训练、咨询、设计和指导。Lippman在成为一名独立咨询顾问之前,曾经是迪士尼动化公司的首席软件设计师。他在AT&T Bell实验室的时候,领导了cfront 3.0版本和2.1版本的编译器开发组。他也是Bjarne Stroustrup领导的Bell实验室Foundation项目的成员之一,负责C++程序设计环境中的对象模型部分。Lippman还撰写了许多关于C++的论文。目前Lippman已受雇于微软公司,负责Visual C++项目。
You mustuse the member initialization list in the following cases in order for your program to compile
1. When initializing a reference member
2. When initializing a const member
3. When invoking a base or member class constructor with a set of arguments
In the fourth case, the program compiles and executes correctly. But it does so inefficiently. (查看原文)
没看effective系列,从过去的Java OO和杂七杂八的FP思维方式,补了Using and Understanding C pointers,数据结构课上深化容器的概念和知识,并且补了《程序员的自我修养》里面的链接部分,过了Stroupstrup的the C++ Programming Language的第一部分Tour系列,总算可以看我现在最关心的内存实现模型了。过了这关应该就可以自己尝...没看effective系列,从过去的Java OO和杂七杂八的FP思维方式,补了Using and Understanding C pointers,数据结构课上深化容器的概念和知识,并且补了《程序员的自我修养》里面的链接部分,过了Stroupstrup的the C++ Programming Language的第一部分Tour系列,总算可以看我现在最关心的内存实现模型了。过了这关应该就可以自己尝试设计程序而不是简单的依葫芦画瓢。(展开)
为什么说 The compiler can't duplicate the traditional constructor solution of inserting additional arguments. This is because unlike constructors and the destructor taking the address of the copy assignment operator is legal.
2014-12-19 10:05
为什么说
The compiler can't duplicate the traditional constructor solution of inserting additional arguments. This is because unlike constructors and the destructor taking the address of the copy assignment operator is legal.
为什么说 The compiler can't duplicate the traditional constructor solution of inserting additional arguments. This is because unlike constructors and the destructor taking the address of the copy assignment operator is legal.
2014-12-19 10:05
为什么说
The compiler can't duplicate the traditional constructor solution of inserting additional arguments. This is because unlike constructors and the destructor taking the address of the copy assignment operator is legal.
为什么说 The compiler can't duplicate the traditional constructor solution of inserting additional arguments. This is because unlike constructors and the destructor taking the address of the copy assignment operator is legal.
2014-12-19 10:05
为什么说
The compiler can't duplicate the traditional constructor solution of inserting additional arguments. This is because unlike constructors and the destructor taking the address of the copy assignment operator is legal.
0 有用 Maverick@Walden 2011-12-22
看完c++ primer和这本书,才有点入门的感觉,这本书看完之后,自己对C++的熟悉程度仿佛又下降了点。写C++程序,一方面是写给程序员看,另一方面,是写给编译器看,或许C++的复杂性就来源于这一点吧。
0 有用 kevinclcn 2010-08-14
很久读的了,C++内部的实现机理讲解的很透彻。
0 有用 壞人 2011-05-31
對這本書有特殊感情啊,呵呵。 這個作者是早期C++的參與者,內容沒得說。這是這個topic唯一的著作,你沒得選。可惜裡面錯誤比較多,而且不是typo,是技術性的。讀的時候需要非常小心。
0 有用 Gosin 2018-05-31
差不多十一个小时读完,又涨知识了。
1 有用 Etcola 2015-02-25
没看effective系列,从过去的Java OO和杂七杂八的FP思维方式,补了Using and Understanding C pointers,数据结构课上深化容器的概念和知识,并且补了《程序员的自我修养》里面的链接部分,过了Stroupstrup的the C++ Programming Language的第一部分Tour系列,总算可以看我现在最关心的内存实现模型了。过了这关应该就可以自己尝... 没看effective系列,从过去的Java OO和杂七杂八的FP思维方式,补了Using and Understanding C pointers,数据结构课上深化容器的概念和知识,并且补了《程序员的自我修养》里面的链接部分,过了Stroupstrup的the C++ Programming Language的第一部分Tour系列,总算可以看我现在最关心的内存实现模型了。过了这关应该就可以自己尝试设计程序而不是简单的依葫芦画瓢。 (展开)
0 有用 dockerdeng 2021-01-18
看完《primer》之后,没那么难理解,很多例子都有那种熟悉的感觉(eg. cin<<) C++对象模型中关于虚函数内存如何分配的,记得面试常考。
0 有用 apprentice 2020-06-25
扎实基础的好书
0 有用 whatever 2020-03-08
挺老的吧..书如其名,cpp的作者写的,主要关于C++object model的内部实现
0 有用 [已注销] 2018-08-24
我又不搞编译,读这本书干什么=。=
0 有用 呆 2018-07-06
好书