1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#pragma once template <class T> class ScopedRelease { public: T *mVar; ScopedRelease(T * aVar) { mVar = aVar; } ~ScopedRelease() { if (mVar != 0) mVar->Release(); } };