NewL,NewLC的理解
參考文章:
http://www.sf.org.cn/Article/base/200804/21004.html
理解 Symbian C++ 的 NewL ConstructL NewLC ELeave
CFoo *p = new(ELeave) CFoo();
CleanupStack::PushL(p);
p->ConstructL();
CleanupStack::Pop();
簡化爲:
CFoo *p = CFoo::NewL();
CFoo *p = new(ELeave) CFoo();
CleanupStack::PushL(p);
p->ConstructL();
簡化爲:
CFoo *p = CFoo::NewLC();
所以:
如果p要調用一些不存在問題的操作:
CFoo *p = CFoo::NewL();
p->DoSafething();
如果p要調用一些存在問題的操作:
CFoo *p = CFoo::NewLC();
p->DoSomethingL();
CleanupStack::Pop();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.