




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Symbian OS C+基礎(chǔ)主要內(nèi)容vSymbian 中的資源管理概述v清除棧v異常退出v類的兩階段構(gòu)造v動(dòng)態(tài)數(shù)組Symbian中的資源管理概述v三種資源管理方式清除棧異常退出類的兩階段構(gòu)造清除棧v清除棧機(jī)制能夠減少程序異常帶來的內(nèi)存泄漏 清除棧v使用清除棧使用清除棧的基本步驟:(1)創(chuàng)建對(duì)象(2)把對(duì)象指針壓棧(3)使用對(duì)象提供的有可能異常退出的函數(shù),也就函數(shù)名后綴有“L”的(4)出棧(5)根據(jù)情況決定是否釋放對(duì)象 清除棧v使用清除棧示例CMyObject* obj1=new (ELeave) CMyObject;CleanupStack:Push(obj1);obj1-UseL();Cl
2、eanupStack:Pop();delete obj1;清除棧v清除棧的特殊用法 用法一CMyObject* obj1=new (ELeave) CMyObject;CleanupStack:Push(obj1);obj1-UseL();CleanupStack:PopAndDestroy(); 用法二template void CleanupClosePushL(T& aRef);template void CleanupReleasePushL(T& aRef);template void CleanupDeletePushL(T* aPtr);異常退出函數(shù)v函數(shù)帶有后綴
3、“L”class CExam0303NewGuiAppUi : public CAknAppUipublic:void ConstructL();CExam0303NewGuiAppUi();virtual CExam0303NewGuiAppUi();private:void HandleCommandL(TInt aCommand);void HandleStatusPaneSizeChange();CArrayFix* HelpContextL() const;private:CExam0303NewGuiAppView* iAppView;異常退出v在程序中拋出異常CObject* p
4、Object=new CObject();if(!pObject)User:Leave(KErrNoMemory);v拋出異常的方法static void Leave(TInt aReason);static void LeaveNoMemory();static TInt LeaveIfError(TInt aReason);static TAny* LeaveIfNull(TAny* aPtr);異常退出v捕獲異常的方法 TRAP TRAPDv示例1void DoStart()TInt err;TRAPD(err, MainL();if (err). . /處理異常異常退出v示例2void
5、 DoStart()TRAPD(err, MainL();if (err). . /處理異常類的兩階段構(gòu)造v普遍C+類的創(chuàng)建及使用CMyClass* pMyClass=new CMyClass;char* pName=pMyClass-GetName();delete pMyClass;類的兩階段構(gòu)造v兩階段構(gòu)造的意義第一階段是安全的第二階段做復(fù)雜的初始化類的兩階段構(gòu)造v靜態(tài)方法NewLC和NewLCMySymbianClass* CMySymbianClass:NewLC()CMySymbianClass* self = new (ELeave)CMySymbianClass();Clean
6、upStack:PushL(self);self-ConstructL();return self;CMySymbianClass* CMySymbianClass:NewL()CMySymbianClass* self=CMySymbianClass:NewLC();CleanupStack:Pop(); / self;return self;類的兩階段構(gòu)造v二階段構(gòu)造函數(shù)Void ConstructL()*iBuf=HBufC:NewL(1000);類的二階段構(gòu)造vSymbian OS C+類的用法 用法一:CMySymbianClass* pMyClass = CMySymbianCla
7、ss:NewLC()pMyClass-UseL(); /使用類對(duì)象UseOtherFunctionL(); CleanupStack:PopAndDestroy();類的二階段構(gòu)造vSymbian OS C+類的用法 用法二:CMySymbianClass* pMyClass = CMySymbianClass:NewL()pMyClass-Use (); /使用類對(duì)象UseOtherFunction(); delete pMyClass;類的二階段構(gòu)造v二階段類的簡(jiǎn)化用法 類的聲明class CMySymbianClass2 : public CBasepublic:CMySymbianClass();void ConstructL();CMySymbianClass();public:TInt GetSum();private:TInt m_nSum;類的二階段構(gòu)造v二階段類的簡(jiǎn)化用法類的創(chuàng)建和使用CMySymbianClass2* pMySymbianClass2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政管理中公文撰寫的實(shí)踐性試題及答案
- 雙十一營銷企劃方案
- 行政心理學(xué)核心概念比較試題及答案
- 管理心理學(xué)幫助降低員工壓力的具體措施研究試題及答案
- 管理學(xué)應(yīng)用技能試題及答案
- 2025年簽訂合同邀請(qǐng)函模板
- 《2025項(xiàng)目管理服務(wù)合同》
- 2025餐飲技術(shù)轉(zhuǎn)讓合同范本
- 2025企業(yè)員工試用合同范本
- 2025租房合同簡(jiǎn)化版
- 2025年高校教師資格證考試題庫(帶答案能力提升)
- 2024年公司網(wǎng)絡(luò)安全管理制度
- NCCN化療止吐指南教程
- 《小王子》講解+知識(shí)點(diǎn)+教案+課件
- 2025年甘肅蘭州市事業(yè)單位招考(868人)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 生成式人工智能的教育應(yīng)用與展望-以ChatGPT 系統(tǒng)為例
- 妊娠期糖尿病病人的護(hù)理查房
- 幼兒園大班游戲中“一對(duì)一傾聽”的策略
- 醫(yī)院信息安全管理課件
- 傳染病處置規(guī)范與流程
- 拍賣合同范本大全(2025年)
評(píng)論
0/150
提交評(píng)論