博客园  :: 首页  :: 联系 :: 管理

读书笔记-深度探索C++对象模型-Chapter6

Posted on 2013-03-26 19:45  Apprentice89  阅读(255)  评论(0编辑  收藏  举报

Chapter 6 执行期语义 Runtime Semantics

 

 

对象的构造和析构

局部对象

{

 Point p;

 // p.Point::Point();

 ...

 //p.Point::~Point();

 }

 对于switchif-else等控制流,情况相对复杂一些。

 

全局对象

C++保证全局对象在main函数第一次使用全局变量前将全局变量初始化好。在main结束前销毁。

 

局部静态变量

局部静态变量的构造函数和析构函数都只能执行一次。编译器会设立一个临时变量,初始为0,当局部静态变量初始化后,该临时变量指向局部静态变量的地址。于是构造和析构都需要条件执行(该临时变量作为条件)。

 

数组

 

 

newdelete运算符

有意思的Placement Operator new:可以将一个对象在特定内存位置初始化(有弊端、慎用)。

Point *p = new(myPlace) Point;

 

 

临时性对象