私有析构函数
来源:互联网 发布:手机儿童绘画软件 编辑:程序博客网 时间:2024/06/03 12:29
私有析构函数这个东西以前理解的不好,现做总结。
这里就要提到上篇文提到的析构函数可以设置为私有的问题了。
首先,我们使用析构函数(析构函数或者合成析构函数)都是用来完成资源(栈上和堆上的)回收的。
那么我们可以知道,要实现资源回收(不管是主动的还是被动的)都要调用函数,而一旦将析构函数设置为私有的,肯定就会限制资源的回收的。
而设置的这种限制可以让我们做很多其他的事情,如要想析构就必须执行身份验证等等。如下例子:
#include <iostream>using namespace std;class A{public: void release(){ cout << "this is my work" << endl; this->~A(); }private: ~A(){cout << "A's unconstruction" << endl; }};int main(){ A *a = new A; a->release(); return 0;}
上述代码展示了私有析构函数的使用,有以下几点总结:
1.析构函数是私有的类不能在栈上建立对象,只能在堆上进行;
2.析构函数是私有的使得其他需要使用我们类的人必须完成我们要求的工作后在析构掉对象;
一般地,我们把析构函数设置为public属性。
- 私有构造函数 私有析构函数
- 私有构造函数,私有析构函数
- 私有构造函数 私有析构函数
- 私有构造函数 私有析构函数
- 私有构造函数 私有析构函数
- 私有构造函数 私有析构函数
- 私有构造函数 私有析构函数
- 私有构造函数 私有析构函数
- 私有析构函数
- 私有析构函数
- 私有构造函数与私有析构函数
- 私有析构函数的作用
- Android 代码分析 私有析构函数
- 私有构造函数,析构函数,单例模式
- 析构函数声明为私有的作用
- 析构函数声明为私有的作用
- 单例模式 & 私有析构函数 & new重载
- 析构函数声明为私有的作用
- 零钱组合
- Oracle复制软件DDS的部署和使用方法
- C#访问MySQL数据库的方法
- Spring IOC
- Mysql的UUID
- 私有析构函数
- dxdbgrid控件带打印功能
- PHP下生成GUID(已测)
- C#类型转换
- C# where用法
- (ZT)GNU C 的 __attribute__ 机制
- Linux学习(三)----ls命令详解
- 【vs调试】C/C++ 错误处理(文档):未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突
- CppUnit测试环境搭建流程及示例Linux环境