利用栈变量跳出作用域的时候,会自动调用析构函数,

可以做个自动释放内存的类:

template<class _Ty>
class auto_delete_ptr
{
public:
    explicit auto_delete_ptr(_Ty *_Ptr)
        : _Myptr(_Ptr)
    {
    }

    ~auto_delete_ptr()
    { 
        if(NULL != _Myptr)
            delete _Myptr;
    }
private:
    _Ty *_Myptr;
};


下面过程:调用了10次CTestClass类的构造函数和析构函数

for(int i = 0; i < 10; ++i)
     {
         CTestClass vObj;
         printf("%d\n", vObj.a);
     }