C++ Super-FAQ 『Deconstructor』
2016-02-29 09:30
239 查看
析构顺序
与构造顺序相反:先构造、先析构。
是否能重载析构函数?
不能。
因为析构函数名称相同且没有参数。
是否能显示调用析构函数?
一般不行。
因为在代码运行至块结束,即}位置处,会自动调用该代码块内部局部对象的析构函数,若已经显示调用会导致重复析构问题。
特殊情况是使用placement new在指定位置构造对象,在销毁时必须显示调用析构函数,否则会导致内存泄露。
备注:若需要在代码块内部提前销毁某局部变量,用{}将指定代码包裹即可。
与构造顺序相反:先构造、先析构。
是否能重载析构函数?
不能。
因为析构函数名称相同且没有参数。
是否能显示调用析构函数?
一般不行。
因为在代码运行至块结束,即}位置处,会自动调用该代码块内部局部对象的析构函数,若已经显示调用会导致重复析构问题。
特殊情况是使用placement new在指定位置构造对象,在销毁时必须显示调用析构函数,否则会导致内存泄露。
备注:若需要在代码块内部提前销毁某局部变量,用{}将指定代码包裹即可。
相关文章推荐
- C语言_运算符的优先级
- [c++]win下utf8源文件编译运行后乱码,codeblocks编辑器
- C++编写安全OCX,IE不弹出安全提示
- c++在VS2010编译的程序在XP系统托盘气泡提示不成功解决办法
- C/C++: short , int , long , long long数据类型选用
- C++多态性理解
- C++多线程操作(火车售票系统线程同步)
- c++中信息隐藏的实现
- c/c++ (void) var语句的作用与ignore_unused的对比
- c++面试笔试集锦
- list和vector的区别
- C++多线程socket系统新编
- USACO Dual Pal 4000 indromes 解题日志
- 从C++转向java——5、数组
- c语言编程中%g是什么格式
- USACO Palindromic Squares 解题日志
- C语言字符串操作总结大全(超详细)
- 【C++】笨鸟起飞——开始我的C++学习之路
- occi c++开发
- C++ 泛型算法简介