This class is used to ensure that a "new"ed object of type T will be "delete"d when the scope is closed. During destruction, automatically call "delete" on the pointer supplied during construction.
eg. f()
{ int* p = new int; if (!p) return OUTOFMEMORY; w_auto_delete_t<int> autodel(p); ... do work ... if (error) { // no need to call delete p return error; } // no need to call delete p return OK; }
delete p will be called by the autodel object. Thus users do not need to code 'delete p' explicitly, and can be assured that p will be deleted when the scope in which autodel was constructed is closed.
This code predates the STL.
Definition at line 94 of file w_autodel.h.
Public Member Functions | |
NORET | w_auto_delete_t () |
NORET | w_auto_delete_t (T *t) |
NORET | ~w_auto_delete_t () |
w_auto_delete_t & | set (T *t) |
T * | operator-> () |
T & | operator * () |
operator T * () | |
T const * | operator-> () const |
T const & | operator * () const |
operator T const * () const |