学习Symbian的新手,问几个比较弱智的有关问题,请大家多多指导

学习Symbian的新手,问几个比较弱智的问题,请大家多多指导。
请看以下代码:
GLDEF_C TInt E32Main() // main function called by E32
  {
__UHEAP_MARK;
CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
TRAPD(error,callExampleL()); // more initialization, then do example
__ASSERT_ALWAYS(!error,User::Panic(KTxtEPOC32EX,error));
delete cleanup; // destroy clean-up stack
__UHEAP_MARKEND;
return 0; // and return
  }

问题:
CTrapCleanup这个类是在建立清理栈时使用的,而CleaupStack这个类是对清理栈的一些相关操作,请问这两个类是什么关系?它们是怎样关联起来的?

------解决方案--------------------
CleanupStack是具体变量入栈和出栈操作,使用之前要CTrapCleanup初始化栈