C++ delete operator做了什么事
2014-04-02 18:55
561 查看
1、C++中的delete operator做了两件事:调用析构方法和调用operator delete释放内存。
2、考虑析构方法,如果析构方法是虚方法,调用指针真实类型的析构方法,否则调用表面类型的析构方法。
3、析构方法的调用分为两个步骤:
a、调用子类的析构方法(释放子类动态获取的资源),调用子类的合成析构方法(逆序调用字段的析构方法,如果是类类型,递归调用析构方法,如果是内置类型,不需要做什么),析构子类专有的成分。
b、子类析构方法完成,调用父类的析构方法(释放父类动态获取的资源),调用父类的合成析构方法(逆序调用字段的析构方法,如果是类类型,递归调用析构方法,如果是内置类型,不需要做什么),析构父类专有的成分。
4、析构方法完成以后,才会调用operator delete释放内存。
2、考虑析构方法,如果析构方法是虚方法,调用指针真实类型的析构方法,否则调用表面类型的析构方法。
3、析构方法的调用分为两个步骤:
a、调用子类的析构方法(释放子类动态获取的资源),调用子类的合成析构方法(逆序调用字段的析构方法,如果是类类型,递归调用析构方法,如果是内置类型,不需要做什么),析构子类专有的成分。
b、子类析构方法完成,调用父类的析构方法(释放父类动态获取的资源),调用父类的合成析构方法(逆序调用字段的析构方法,如果是类类型,递归调用析构方法,如果是内置类型,不需要做什么),析构父类专有的成分。
4、析构方法完成以后,才会调用operator delete释放内存。
相关文章推荐
- WINDOWS下C++的套接字编程
- Windows下 Zmq v4.0.4的使用 (C++)
- c++ 详解链接过程
- 使用JAVA读取C语言写入的文件的问…
- C语言位运算详解
- C语言位运算
- VC++的CDib类
- C++中union成员变量的特殊说明
- 用EasyX图形库VS2012的控制台的二维图形的绘制(仅限C++)
- vc++6.0生成exe文件不能在非VC环境下应用 (
- C语言实现动态一维/二维数组的申请
- Unicode字符串转UTF-8 (C++)
- 利用流将数字转换为字符串 (C++)
- C++中多态的实现机制
- C++中的引用
- C语言竞赛题 - 将数表示成质因子成…
- 某叶C语言学习上重大的一步——一元三次方程求解
- 查找数组中第二大的数(c语言)
- c++字符数组de输入
- C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组