�gӭ���R�ЈD�W(w��ng) Ո(q��ng) | ע��(c��)
> >>
������(j��ng)��������̽��C++��(du��)��ģ��/������(j��ng)�����

���] ������(j��ng)��������̽��C++��(du��)��ģ��/������(j��ng)�����

�����磺��ӹ��I(y��)����������r(sh��)�g��2012-01-01
�_(k��i)���� 16�_(k��i) �(y��)��(sh��)�� 320
�� �D �r(ji��):¥73.3(7.4��) ���r(ji��)  ¥99.0 ��䛺�ɿ�����(hu��)�T�r(ji��)
����ُ(g��u)��܇ �ղ�
�_(k��i)������ ȫ��(ch��ng)���]
?�½������س���
������Ǖ�����>
�I�^(gu��)����Ʒ����߀�I��

������(j��ng)��������̽��C++��(du��)��ģ��/������(j��ng)����� ���(qu��n)��Ϣ

������(j��ng)��������̽��C++��(du��)��ģ��/������(j��ng)����� ������ɫ

�������һλC++����T��������(du��)�ڵ׌�֪�R(sh��)�@��һ��(g��)�������˽⣬��ô�������m����

������(j��ng)��������̽��C++��(du��)��ģ��/������(j��ng)����� ��(n��i)�ݺ�(ji��n)��

����Lippman���c�O(sh��)Ӌ(j��)��ȫ������C++���g����cfront���@��������һλ�����C++���g�����O(sh��)Ӌ(j��)�������U�������̎�����Nexplicit�����_���F(xi��n)��C++������a�У���implicit���[���ڳ�����a���󣩵�C++�Z(y��)���� ������ע��C++����?q��)�������O(sh��)Ӌ(j��)�ĵ׌әC(j��)�ƣ������Y(ji��)��(g��u)ʽ�Z(y��)�����R�r(sh��)�Ԍ�(du��)������������b���^�����Լ�̓�M����̓�M����(sh��)��̓�M�^�С��@����׌��֪����һ�����܉��˽�׌ӌ�(sh��)�F(xi��n)ģ������ij�����a���@�ö�ô���Ч����Lippman��������Щ�P(gu��n)��C++�~��ؓ(f��)���c��(f��)�s�ȵĸ��N�e(cu��)�`��Ϣ����˼����Ҳָ������ijЩ�ɱ������潻�Q�_��(sh��)���������U���˸�ʽ���ӵČ�(sh��)�F(xi��n)ģ����ָ���������M(j��n)��֮�����䱾�|(zh��)���������к��w��C++��(du��)��ģ�͵��Z(y��)�ⰵʾ����ָ���@��(g��)ģ�������Ӱ���ij������ ��(du��)��C++�׌әC(j��)�Ƹ��dȤ���x�����@��Ȼ��һ��׌�����^(gu��)�a�Ľ^��Õ���

������(j��ng)��������̽��C++��(du��)��ģ��/������(j��ng)����� Ŀ�

Ŀ�����
������������� �g�� III
Ŀ� VII
ǰ�ԣ�Stanley B�� Lippman�� XIII
��0�� ��(d��o)�x���g�ߵ�Ԓ�� XXV
��1�� �P(gu��n)�ڌ�(du��)��Object Lessons�� 1
���Ϸ��b��IJ��ֳɱ���Layout Costs for Adding Encapsulation�� 5
1��1��C++��(du��)��ģʽ��The C++ Object Model�� 6
��(ji��n)�Ό�(du��)��ģ�ͣ�A Simple Object Model�� 7
�����(q��)��(d��ng)��(du��)��ģ�ͣ�A Table-driven Object Model�� 8
C++��(du��)��ģ�ͣ�The C++ Object Model�� 9
��(du��)��ģ�����Ӱ푳���How the Object Model Effects Programs�� 13
1��2 �P(gu��n)�I�~������(l��i)�IJ��A Keyword Distinction�� 15
�P(gu��n)�I�~�����_ 16
���������_��struct��The Politically Correct Struct�� 19
1��3 ��(du��)��IJ��An Object Distinction�� 22
ָᘵ���ͣ�The Type of a Pointer�� 28
���϶��B(t��i)֮��Adding Polymorphism�� 29
��2�� ��(g��u)�캯��(sh��)�Z(y��)��W(xu��)��The Semantics of Constructors�� 37
2��1 Default Constructor��(g��u)����� 39
������Default Constructor����Member Class Object 41
������Default Constructor����Base Class 44
������һ��(g��)Virtual Function����Class 44
������һ��(g��)Virtual Base Class����Class 46
���Y(ji��) 47
2��2 Copy Constructor��(g��u)����� 48
Default Memberwise Initialization 49
Bitwise Copy Semantics��λ��ο�ؐ�� 51
��ҪBitwise Copy Semantics�� 53
�����O(sh��)��Virtual Table��ָ� 54
̎��Virtual Base Class Subobject 57
2��3 �����D(zhu��n)���Z(y��)��W(xu��)��Program Transformation Semantics�� 60
�@ʽ�ij�ʼ��������Explicit Initialization�� 61
����(sh��)�ij�ʼ����Argument Initialization�� 62
����ֵ�ij�ʼ����Return Value Initialization�� 63
��ʹ���ߌ�������(y��u)����Optimization at the User Level�� 65
�ھ��g����������(y��u)����Optimization at the Compiler Level�� 66
Copy Constructor��Ҫ߀�Dz�Ҫ�� 72
ժҪ 74
2��4 �ɆT���ij�ʼ���(du��)�飨Member Initialization List�� 74
��3�� Data�Z(y��)��W(xu��)��The Semantics of Data�� 83
3��1 Data Member�Ľ�����The Binding of a Data Member�� 88
3��2 Data Member�IJ��֣�Data Member Layout�� 92
3��3 Data Member�Ĵ�ȡ 94
Static Data Members 95
Nonstatic Data Members 97
3��4 ���^���cData Member 99
ֻҪ�^�в�Ҫ���B(t��i)��Inheritance without Polymorphism�� 100
���϶��B(t��i)��Adding Polymorphism�� 107
�����^��Multiple Inheritance�� 112
̓�M�^�У�Virtual Inheritance�� 116
3��5 ��(du��)��ɆT��Ч�ʣ�Object Member Efficiency�� 124
3��6 ָ��Data Members��ָᘣ�Pointer to Data Members�� 129
��ָ��Members��ָᘡ���Ч�ʆ�(w��n)�} 134
��4�� Function�Z(y��)��W(xu��)��The Semantics of Function�� 139
4��1 Member�ĸ��N�{(di��o)�÷�ʽ 140
Nonstatic Member Functions�����o�B(t��i)�ɆT����(sh��)�� 141
Virtual Member Functions��̓�M�ɆT����(sh��)�� 147
Static Member Functions���o�B(t��i)�ɆT����(sh��)�� 148
4��2 Virtual Member Functions��̓�M�ɆT����(sh��)�� 152
�����^���µ�Virtual Functions 159
̓�M�^���µ�Virtual Functions 168
4��3 ����(sh��)���� 170
4��4 ָ��Member Function��ָᘣ�Pointer-to-Member Functions�� 174
֧�֡�ָ��Virtual Member Functions����ָ� 176
�ڶ����^��֮����ָ��Member Functions��ָ� 178
��ָ��Member Functionsָ֮ᘡ���Ч�� 180
4��5 Inline Functions 182
��ʽ����(sh��)��Formal Arguments�� 185
�ֲ�׃����Local Variables�� 186
��5�� ��(g��u)��������(g��u)����ؐ�Z(y��)��W(xu��)��Semantics of Construction��
Destruction�� and Copy�� 191
��̓����(sh��)�Ĵ��ڣ�Presence of a Pure Virtual Function�� 193
̓�MҎ(gu��)��Ĵ��ڣ�Presence of a Virtual Specification�� 194
̓�MҎ(gu��)����const�Ĵ��� 195
���¿��]class��•�� 195
5��1 ���o(w��)�^�С���r�µČ�(du��)��(g��u)�� 196
����(sh��)��(j��)��ͣ�Abstract Data Type�� 198
���^������(zh��n)�� 202
5��2 �^���wϵ�µČ�(du��)��(g��u)�� 206
̓�M�^�У�Virtual Inheritance�� 210
vptr��ʼ���Z(y��)��W(xu��)��The Semantics of the vptr Initialization�� 213
5��3 ��(du��)���(f��)���Z(y��)��W(xu��)��Object Copy Semantics�� 219
5��4 ��(du��)���Ч�ܣ�Object Efficiency�� 225
5��5 ����(g��u)�Z(y��)��W(xu��)��Semantics of Destruction�� 231
��6�� ��(zh��)�����Z(y��)��W(xu��)��Runtime Semantics�� 237
6��1 ��(du��)���(g��u)�������(g��u)��Object Construction and Destruction�� 240
ȫ�֌�(du��)��Global Objects�� 242
�ֲ��o�B(t��i)��(du��)��Local Static Objects�� 247
��(du��)��(sh��)�M��Array of Objects�� 250
Default Constructors�͔�(sh��)�M 252
6��2 new��delete�\(y��n)��� 254
ᘌ�(du��)��(sh��)�M��new�Z(y��)�� 257
Placement Operator new���Z(y��)�� 263
6��3 �R�r(sh��)�Ԍ�(du��)��Temporary Objects�� 267
�R�r(sh��)�Ԍ�(du��)�����˼����Ԓ�����f(shu��)�� 275
��7�� վ�ڌ�(du��)��ģ�͵ļ�ˣ�On the Cusp of the Object Model�� 279
7��1 Template 280
Template�ġ���(sh��)�������О飨Template Instantiation�� 281
Template���e(cu��)�`��(b��o)�棨Error Reporting within a Template�� 285
Template����Q�Q�h����Name Resolution within a Template�� 289
Member Function�Č�(sh��)�����О飨Member Function Instantiation�� 292
7��2 ����̎����Exception Handling�� 297
Exception Handling���ٙz� 298
��(du��)Exception Handling��֧�� 303
7��3 ��(zh��)��������R(sh��)�e��Runtime Type Identification��RTTI�� 308
Type-Safe Downcast�����C��ȫ�������D(zhu��n)�Q������ 310
Type-Safe Dynamic Cast�����C��ȫ�Ą�(d��ng)�B(t��i)�D(zhu��n)�Q�� 311
References������Pointers 313
Typeid�\(y��n)��� 314
7��4 ���������������� 318
��(d��ng)�B(t��i)��������(sh��)��(k��)��Dynamic Shared Libraries�� 318
�����(n��i)�棨Shared Memory�� 318
չ�_(k��i)ȫ��
��Ʒ�u(p��ng)Փ(0�l)
���o(w��)�u(p��ng)Փ����
�������]
����픲�
�ЈD�W(w��ng)
�ھ��ͷ�