




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Symbian OS C+基礎主要內容vSymbian 中的資源管理概述v清除棧v異常退出v類的兩階段構造v動態(tài)數組Symbian中的資源管理概述v三種資源管理方式清除棧異常退出類的兩階段構造清除棧v清除棧機制能夠減少程序異常帶來的內存泄漏 清除棧v使用清除棧使用清除棧的基本步驟:(1)創(chuàng)建對象(2)把對象指針壓棧(3)使用對象提供的有可能異常退出的函數,也就函數名后綴有“L”的(4)出棧(5)根據情況決定是否釋放對象 清除棧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);異常退出函數v函數帶有后綴
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). . /處理異常類的兩階段構造v普遍C+類的創(chuàng)建及使用CMyClass* pMyClass=new CMyClass;char* pName=pMyClass-GetName();delete pMyClass;類的兩階段構造v兩階段構造的意義第一階段是安全的第二階段做復雜的初始化類的兩階段構造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;類的兩階段構造v二階段構造函數Void ConstructL()*iBuf=HBufC:NewL(1000);類的二階段構造vSymbian OS C+類的用法 用法一:CMySymbianClass* pMyClass = CMySymbianCla
7、ss:NewLC()pMyClass-UseL(); /使用類對象UseOtherFunctionL(); CleanupStack:PopAndDestroy();類的二階段構造vSymbian OS C+類的用法 用法二:CMySymbianClass* pMyClass = CMySymbianClass:NewL()pMyClass-Use (); /使用類對象UseOtherFunction(); delete pMyClass;類的二階段構造v二階段類的簡化用法 類的聲明class CMySymbianClass2 : public CBasepublic:CMySymbianClass();void ConstructL();CMySymbianClass();public:TInt GetSum();private:TInt m_nSum;類的二階段構造v二階段類的簡化用法類的創(chuàng)建和使用CMySymbianClass2* pMySymbianClass2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家具制造業(yè)原材料價格波動應對2025年產業(yè)鏈整合策略報告
- 2025年醫(yī)藥流通企業(yè)供應鏈優(yōu)化與成本控制創(chuàng)新策略報告
- 特色農產品冷鏈物流中心建設對農村經濟發(fā)展的推動作用報告
- 新能源商用車型號2025年市場需求與電動物流車售后服務滿意度研究報告
- 磅房安全培訓試題及答案
- 傳統(tǒng)食品工業(yè)化生產2025年智能檢測技術改造與創(chuàng)新案例報告
- 安全生產管理知識試題及答案
- 快時尚行業(yè)在2025年時尚零售市場中的品牌合作與跨界營銷報告
- 2025年土壤污染修復技術土壤修復藥劑市場發(fā)展趨勢報告
- 電泳工藝原理培訓課件
- 出師表標準注音版修正版
- 孤獨癥康復教育人員上崗培訓練習題庫及答案
- 籃球比賽記錄表A4版
- 機械設備投入計劃及保證措施
- 小兒清熱止咳口服液產品知識-課件
- 工程項目成本預算表
- 鋼 筋 檢 查 記 錄 表(鋼筋加工及安裝)
- 附件9:未取得國外國籍的聲明
- 一般自我效能感量表(GSES)
- 新題型大綱樣題(考研英語一)
- Blue Planet Ⅱ《藍色星球2(2017)》第一季第一集完整中英文對照劇本
評論
0/150
提交評論