[读书笔记] 深入探索C++对象模型-第六章-执行期语义学(上)
2016-09-28 22:47
369 查看
继续整理第六章的内容,关于执行期的一些内容。
这一部分是关于对象的构造和析构的。注:以下部分图片来自于原文
1. 全局对象
C++中全局对象会被放到数据段中,一种可能的全局对象的初始化方法是在程序中最前面(main()函数第一个指令)插入函数__main(),其中生成对所有全局对象的初始化操作,如下图:
2. 局部静态对象
考虑一下函数:
3. 对象数组
对于如下数组定义:
如果Point明确定义了默认构造函数,那么构造函数必须轮流施行于每一个元素上。
这一部分是关于对象的构造和析构的。注:以下部分图片来自于原文
1. 全局对象
C++中全局对象会被放到数据段中,一种可能的全局对象的初始化方法是在程序中最前面(main()函数第一个指令)插入函数__main(),其中生成对所有全局对象的初始化操作,如下图:
2. 局部静态对象
考虑一下函数:
void Point& identity() { staitc Point sta_Point; return sta_Point; }不管该函数被调用多少次,静态局部对象sta_Point只会被初始化一次,理所当然也只会被析构一次,这种通过函数返回局部静态对象的方法通常是用来解决跨模块(文件)的全局变量的初始化顺序问题。
3. 对象数组
对于如下数组定义:
Point manyPoints[10];如果 Point未定义默认构造函数或者析构函数,那么产生该数组不会比产生内建类型的数组做的更多,只需要配置足够的内存以存储10个连续的Point元素。
如果Point明确定义了默认构造函数,那么构造函数必须轮流施行于每一个元素上。
相关文章推荐
- [读书笔记] 深入探索C++对象模型-第六章-执行期语义学(下)
- [读书笔记] 深入探索C++对象模型-第六章-执行期语义学(中)
- 深入探索C++对象模型 第六章 执行语义学
- [读书笔记] 深入探索C++对象模型-第五章-构造、析构、拷贝语义学(上)
- [读书笔记] 深入探索C++对象模型-第五章-构造、析构、拷贝语义学(中)
- [读书笔记] 深入探索C++对象模型-第五章-构造、析构、拷贝语义学(下)
- C++ 零散知识点速记 -- <深入探索C++对象模型> 读书笔记
- [读书笔记] 深入探索C++对象模型-第四章-Function语义学(下续)
- [读书笔记] 深入探索C++对象模型-第四章-Function语义学(下)
- [读书笔记] 深入探索C++对象模型-第七章-站在对象模型的尖端(下)
- [读书笔记] 深入探索C++对象模型-第七章-站在对象模型的尖端(上)
- [读书笔记] 深入探索C++对象模型-第四章-Function语义学(中)
- [读书笔记] 深入探索C++对象模型-第三章 Data语义学(上)
- 深入探索C++对象模型 读书笔记
- 深入探索C++对象模型 读书笔记(1)
- 深入探索C++对象模型之六 --- 执行期语意学
- [读书笔记] 深入探索C++对象模型-第二章《构造函数语义学》(上)
- [读书笔记] 深入探索C++对象模型-第一章《关于对象》
- [读书笔记] 深入探索C++对象模型-第三章 Data语义学(下)
- [读书笔记] 深入探索C++对象模型-第三章 Data语义学(中)