C++构造函数和析构函数的调用顺序
来源:互联网 发布:js获取useragent 编辑:程序博客网 时间:2024/05/19 12:13
析构函数的调用顺序是从底往上的:
[1] first, the constructor invokes its base class constructors,
首先,是调用该类的基类构造函数
[2] then, it invokes the member constructors, and
然后是该成员类的构造函数(重要记忆,有些书好像没有提到)
[3] finally, it executes its own body.
最后才是本类的构造函数
而析构函数的调用顺序刚好是相反
A destructor ‘‘tears down’’ an object in the reverse order:
[1] first, the destructor executes its own body,
首先调用本类的析构函数
[2] then, it invokes its member destructors, and
然后调用成员类的析构函数
[3] finally, it inv okes its base class destructors.
最后才是基类的析构函数
特别指出:虚基类是在其他任何类之前调用构造函数的,而在所有其他类之后调用析构函数的。
这样的调用顺序是为了保证基类或者成员类没有在他们创建之前被调用,或者在析构之后还可能被调用。
构造函数根据声明顺序,执行成员类和基类的构造函数,而不是根据初始化列表(initializers)顺序。
0 0
- 关于构造函数和析构函数的调用顺序
- C++构造函数和析构函数的调用顺序
- C++构造函数和析构函数的调用顺序
- 析构函数和构造函数的调用顺序
- 调用构造函数和析构函数的顺序
- 构造函数和析构函数的调用顺序
- 浅谈构造函数和析构函数的调用顺序
- C++构造函数和析构函数的调用顺序
- 类的析构函数和构造函数调用顺序
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
- 派生类构造函数和析构函数的调用顺序(C++)
- <C++>13.构造函数和析构函数的调用顺序
- 拷贝构造,构造函数,析构函数的调用顺序
- 【c++】构造函数调用顺序的研究
- 构造函数和析构函数调用顺序
- idapython 手册
- HDU 1556 Color the ball(树状数组)
- OLEDB操作EXCEL
- iOS中 常用的数据持久化方法
- memcpy实现
- C++构造函数和析构函数的调用顺序
- VC++下使用ADO操作数据库的智能指针_ConnectionPtr、_RecordsetPtr、_CommandPtr的方法
- 《数理统计学教程》序言(陈希孺)
- 阅读一款3D引擎的方法备忘
- hdu 1232 畅通工程(并查集)
- Hibernate对象的三种状态
- Jbpm 流程节点
- hbase shell 命令一
- 深入浅出 JavaScript 中的 this