How to use CleanupDeletePushL()

CleanupDeletePushL() pushes a TCleanupItem onto the cleanup stack ready for CleanupStack::PopAndDestroy() to delete.

The CleanupDeletePushL() templated function constructs and pushes a TCleanupItem onto the cleanup stack. When CleanupStack::PopAndDestroy() is called, the object encapsulated by the TCleanupItem is deleted.

...
CTestOne* one = new (ELeave) CTestOne;
CleanupDeletePushL(one);
one->SetTextL(KTxtHelloWorld);
CleanupStack::PopAndDestroy();
...

The TCleanupItem object encapsulates a pointer to the CTestOne object; the cleanup operation is the static function Delete() of the templated class CleanupDelete<class T>. This is implemented by simply deleting CTestOne.