- 博客(44)
- 收藏
- 关注
C++对象模型(四):class成员初始化列表(Member Initialization List)
本文是Inside C++ Object Model Chapter 2 部分的读书笔记。 编译器如何处理初始化成员列表的。 下列情况中,必须要使用member initialization list进行data member 的初始化: 1) 当初始化一个reference member。 2) 当初始化一个const member。 3) 当调用一个base class 的const...
2013-12-09 20:10:00
225
C++对象模型(三):Program Transformation Semantics (程序转换语义学)
本文是Inside The C++ Object Model Chapter 2 部分的读书笔记。是讨论编译器调用拷贝构造函数时的策略(如何优化以提高效率),侯捷称之为"程序转化的语义学" 或者说是是关于编译器对于程序是如何进行有效转化或者说翻译,以实现C++的语法机制。主要来说有以下几种Semantics: 1) 明确的初始化操作(Explicit Initialization) 比如定义...
2013-12-09 19:15:00
163
C++对象模型(二):The Semantics of Copy Constructors(拷贝构造函数之编译背后的行为)...
本文是 Inside The C++ Object Model's Chapter 2 的部分读书笔记。 有三种情况,需要拷贝构造函数: 1)object直接为另外一个object的初始值 2)object作为函数以值传递的参数 3) object以函数返回值形式返回 如果class没有提供一个explicit copy constructor时,编译器会以default membe...
2013-12-08 21:50:00
210
C++对象模型(一):The Semantics of Constructors The Default Constructor (默认构造函数什么时候会被创建出来)...
本文是 Inside The C++ Object Model, Chapter 2的部分读书笔记。 C++ Annotated Reference Manual中明确告诉我们: default constructor会在需要的时候被编译器产生出来。注意,这里是编译器需要,而不是程序需要。后来的C++ Standard 95修改了这种说法,但是实质上仍是相同的: For class X, if ...
2013-12-08 10:24:00
170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅