delete可是用来删除非new的对象吗?我创建一个模态对话框,多次创建Domodal(),和销毁OnCancel()后。会出现死机的现象。
在模态对话框中我给一个静态文本框的添加了一个变量.h文件中。
public:
CTimeAdjust m_TimeAd;
和一个句柄
HANDLE m_HandleKey ;这两个变量是否需要delete啊?

解决方案 »

  1.   

    不需要,delete的对象都是动态申请来的
    为了防止内存泄露,在必要的时候将其释放掉
    此类中两个都是静态变量
    不许这样delete
    也不可以~
      

  2.   

    要不要delete,需要看你是如何创建的。
    new创建的肯定要delete
    句柄之类的,一般都有对应的释放函数的。
      

  3.   

    你的例子中的是类成员变量,作为类内的局部变量,局部变量在生存期结束后是自动释放的,也就是你的类在销毁时。
    NEW和DELETE配对,动态申请和释放
      

  4.   

    new与delete对应,你的handle可以在Oncancel的时候给它设为0 ;
      

  5.   

    如果你想及时销毁的话,就用new出来
      

  6.   

    new和delete对应使用。用了new,一定要delete。
    HANDLE,一般用来标识对象,一般会有对应函数用来关闭句柄,比如Windows API打开的句柄使用CloseHandle等函数来关闭。如果没有提供对应函数或者没有明确说明需要显示关闭,则可以不用处理。
      

  7.   

    你这个是类成员变量,在类的对象销毁时自动释放!
    只有比如指针之类的成员变量可能需要在析构函数里用delete来释放它所指向的空间。
      

  8.   

    CTimeAdjust m_TimeAd;
    HANDLE m_HandleKey ;
    这两个变量是在栈上,系统自动回收资源,不需要自己delete
    如果是new出来的则在堆上 就需要delete掉
      

  9.   

    new和delete就像括号一样,在程序中要成对出现……
      

  10.   

    删除非new 生成的对象指针,会死机的。。当然如果指针为NULL,不会死机,操作等于什么都不干。
      

  11.   

    public:
    CTimeAdjust m_TimeAd;
    HANDLE m_HandleKey ;这两个是类的成员变量,在类的对象销毁时自动释放。
    不必也不要去delete。
    delete一般与new配对使用,为动态申请与动态释放函数的参数值,局部变量的值等等,
    存放在栈区,由编译器自动分配释放 new出来的变量在堆区,一般需要程序员自己来释放朱铭雷