我希望c#程序在退出后自动向数据库更新状态,所以定义了

Class A{

A(){
//一些数据库初始化工作
}
~A(){
//一些更新数据库工作
}
}
然后在CLI程序一运行的时候就new A了

但是我发现程序的窗口关闭后并没有调用析构

是我用错了?还是有其他方法控制程序退出时的调用?谢谢

2012年11月22日 3:34
回复 | 引用 |
答案
Question
登录进行投票
0
登录进行投票
dear

我是可以调用的,无法模拟你的问题,为了防止有人未依正常程序结束物件的生命周其,才有析构的出现

你可在 ~A() 设定中断点观察

析构是为了释放非托管资源用的,并非让你用来更新数据。

http://msdn.microsoft.com/zh-cn/library/66x5fx1b(VS.80).aspx

程序员无法控制何时调用析构函数,因为这是由垃圾回收器决定的。垃圾回收器检查是否存在应用程序不再使用的对象。如果垃圾回收器认为某个对象符合析构,则调用析构函数(如果有)并回收用来存储此对象的内存。程序退出时也会调用析构函数。

http://hi.baidu.com/yy3b2007com/item/c79634c74b257e78cfd4f81b

析构函数什么时候会调用?相关推荐

  1. 析构函数与构造函数的调用

    阅读程序写结果: #include <iostream> using namespace std;class A {public:A();A(int i,int j);~A();void ...

  2. C++——析构函数什么时候被调用

    1.对象生命周期结束,被销毁时 2.delete指向对象的指针时,或delete指向对象的基类类型指针,而其基类析构函数是虚函数时: 3.对象A是对象B的成员,B的析构函数被调用时,对象A的析构函数也 ...

  3. C++中最好不要在构造函数和析构函数中调用虚函数!!!

    1.最好不要在基类和派生类的构造和析构函数中调用虚函数,不会出现多态性 实例如下: #include "iostream"using namespace std;class Bas ...

  4. C++对象模型8——构造函数和析构函数中对虚函数的调用、全局对象构造和析构、局部static数组的内存分配

    一.构造函数和析构函数中对虚函数的调用 仍然以https://blog.csdn.net/Master_Cui/article/details/109957302中的代码为例 base3构造函数和析构 ...

  5. C++中最好不要在构造函数和析构函数中调用虚函数

    1.最好不要在基类和派生类的构造和析构函数中调用虚函数,不会出现多态性 实例如下: #include "iostream"using namespace std;class Bas ...

  6. 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序

    构造函数.拷贝构造函数和析构函数的的调用时刻及调用顺序 对象是由"底层向上"开始构造的,当建立一个对象时,首先调用基类的构造函数,然后调用下一个派生类的构造函数,依次类推,直至到达 ...

  7. delete不调用析构函数的两种情况

    1. 所使用的类为预定义类 下面这段函数代码编译运行时没有问题的,不需要CPtr的定义 ---PtrUser.h class CPtr; // 预定义 class CPtrUser { public: ...

  8. c++——对象的构造和析构函数、构造函数的分类及调用

    1构造函数和析构函数的概念 有关构造函数 1构造函数定义及调用 1)C++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的成员函数叫做构造函数: 2)构造函数在定义时可以有参数: 3)没有任何 ...

  9. vector用erase删除元素时,为什么被删元素的析构函数会被调用更多次?

    vector用erase删除元素时,为什么被删元素的析构函数会被调用更多次? 分类: C++2011-08-18 14:55 720人阅读 评论(0) 收藏 举报 vectoriteratorexce ...

最新文章

  1. 国产数据库年终大盘点
  2. MATLAB_no.3:关于车牌的.
  3. java测试不成功_为什么我的Java布尔测试总是失败?
  4. 通过醉品商城改版反思网站改版的那些事
  5. 速来!亚马逊云科技AI盛会开源专场吹响集结号
  6. 静态网页案例_手把手教你构建网页
  7. linux ssh免密登陆远程服务器
  8. 用开源的人工标注数据来增强RoFormer-Sim
  9. CT基本概念(必须掌握)
  10. 机器学习:SVM、软间隔、随机梯度下降SVM线性算法
  11. NGINX生命周期-转
  12. Error:Unable to make the module: core, related gradle configuration was not found. Please, re-import
  13. Apache虚拟机和访问控制
  14. 在Visual Studio中使用Visual Basic教程:创建一个控制台应用
  15. win10怎么修复网络连接服务器失败,微软发布修复补丁修复Win10无网络连接问题...
  16. 星空特效HTML代码,旋转的星空特效代码
  17. Kubernetes operators
  18. uni-app 跳转至手机浏览器
  19. 使用jsonp跨域调用百度js实现搜索框智能提示,并实现鼠标和键盘对弹出框里候选词的操作【附源码和在线测试地址】
  20. obs直播多音轨软件设置相关

热门文章

  1. 微信小程序开发(五) - 全局(app.js)逻辑 - js 文件
  2. 天翼云linux版本,天翼云Linux主机操作
  3. 互联网行业的一些职位缩写
  4. MySQL 之1045错误
  5. 测试用例的设计方法(七种)详细分析
  6. C++ int 转字符串
  7. Maven华为云仓库
  8. 游戏开发技术——游戏引擎
  9. redis-port工具
  10. 继电器开关性能简要对比