您的位置:首页 > 编程语言 > C语言/C++

C++ Super-FAQ 『Deconstructor』

2016-02-29 09:30 239 查看
析构顺序

与构造顺序相反:先构造、先析构。

是否能重载析构函数?

不能。

因为析构函数名称相同且没有参数。

是否能显示调用析构函数?

一般不行。

因为在代码运行至块结束,即}位置处,会自动调用该代码块内部局部对象的析构函数,若已经显示调用会导致重复析构问题。

特殊情况是使用placement new在指定位置构造对象,在销毁时必须显示调用析构函数,否则会导致内存泄露。

备注:若需要在代码块内部提前销毁某局部变量,用{}将指定代码包裹即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: