mfc中數(shù)組類的使用分析

mfc中數(shù)組類的使用分析

ID:6164771

大?。?1.00 KB

頁(yè)數(shù):5頁(yè)

時(shí)間:2018-01-05

mfc中數(shù)組類的使用分析_第1頁(yè)
mfc中數(shù)組類的使用分析_第2頁(yè)
mfc中數(shù)組類的使用分析_第3頁(yè)
mfc中數(shù)組類的使用分析_第4頁(yè)
mfc中數(shù)組類的使用分析_第5頁(yè)
資源描述:

《mfc中數(shù)組類的使用分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、MFC中數(shù)組類的使用分析作者:佚名來(lái)源:不詳更新時(shí)間:2007-3-2516:49:45等級(jí):?MFC的數(shù)組類支持的數(shù)組類似于C++中的常規(guī)數(shù)組,可以存放任何數(shù)據(jù)類型。C++的常規(guī)數(shù)組在使用前必須將其定義成能夠容納所有可能需要的元素,而MFC數(shù)組類創(chuàng)建的對(duì)象可以根據(jù)需要?jiǎng)討B(tài)地增大或減小,數(shù)組的起始下標(biāo)是0,而上限可以是固定的,也可以隨著元素的增加而增加,數(shù)組在內(nèi)存中的地址仍然是連續(xù)分配的?! FC定義了數(shù)組模板類CArray,并針對(duì)各種常用變量類型定義了CByteArray,CWordArray,CUIntArray,CDWordArray,CStringArr

2、ay,CObArray,CPtrArray。詳見(jiàn)下表:數(shù)組類變量類型變量數(shù)值范圍頭文件CArray通過(guò)模板類的參數(shù)類型設(shè)定各種類型?Afxtempl.hCByteArray8位無(wú)符號(hào)整數(shù)BYTE類型0—255Afxcoll.hCWordArray16位無(wú)符號(hào)整數(shù)WORD類型0—65535Afxcoll.hCDWordArray32位無(wú)符號(hào)整數(shù)DWORD類型0—4294967295Afxcoll.hCUIntArray32位無(wú)符號(hào)整數(shù)UINT類型0—4294967295Afxcoll.hCStringArrayCString字符串string字符串?Afxcoll.

3、hCObArrayCObject類及其派生類?Afxcoll.hCPtrArrayvoid*類型指針?Afxcoll.h  MFC數(shù)組類使用方法基本相同,下面分別以CArray和CUIntArray為例演示說(shuō)明數(shù)組類的使用方法。  使用CArray  打開(kāi)VC++6.0,創(chuàng)建基于對(duì)話框的工程Array。CArrayDlg類聲明文件(ArrayDlg.h)中添加語(yǔ)句:#include  請(qǐng)記住:使用CArray一定要包含頭文件afxtempl.h。  打開(kāi)主對(duì)話框資源IDD_ARRAY_DIALOG,添加一個(gè)按鈕IDC_ARRAY_CPOIN

4、T,標(biāo)題為CArray_CPoint,雙擊該按鈕,在OnArrayCpoint()函數(shù)中添加如下代碼:voidCArrayDlg::OnArrayCpoint(){ CArraym_Array; m_Array.SetSize(10,10); CPointpt1(10,10); m_Array.Add(pt1); CPointpt2(10,50); m_Array.Add(pt2); CPointpt3(10,100); m_Array.Add(pt3); intsize=m_Array.GetSize(); CClientDCdc

5、(this); dc.MoveTo(0,0); CPointpt; for(inti=0;im_Array;  該語(yǔ)句定義一個(gè)CArray數(shù)組對(duì)象,模板類CArray有兩個(gè)參數(shù),第一個(gè)參數(shù)為數(shù)組元素的類型,該例中是CPoint,即m_Array是CPoint數(shù)組;第二個(gè)參數(shù)為引用類型,一般有兩種選擇,一種選擇與第一個(gè)參數(shù)類型相同,它意味著數(shù)組對(duì)象作為參數(shù)傳遞時(shí),傳遞的是數(shù)組對(duì)象。第二種選擇是第一個(gè)參

6、數(shù)類型的引用,它意味著數(shù)組對(duì)象作為參數(shù)傳遞時(shí),傳遞的是數(shù)組對(duì)象的指針。因此,尤其對(duì)于較復(fù)雜的數(shù)組結(jié)構(gòu)類型,推薦使用引用傳遞,節(jié)約內(nèi)存同時(shí)加快程序運(yùn)行速度,正如本例使用的是CPoint&。m_Array.SetSize(10,10);  SetSize函數(shù)設(shè)定數(shù)組的大小,該函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)設(shè)定數(shù)組的大??;第二個(gè)參數(shù)設(shè)定數(shù)組增長(zhǎng)時(shí)內(nèi)存分配的大小,缺省值是-1,使用缺省值可以保證內(nèi)存分配得更加合理。本例中第二個(gè)參數(shù)是10,意即增加一個(gè)數(shù)組元素會(huì)分配10個(gè)元素大小的內(nèi)存供數(shù)組使用?! ∧梢噪S時(shí)使用SetSize函數(shù)設(shè)定數(shù)組的大小,如果第一個(gè)參數(shù)值小于數(shù)組已有成

7、員數(shù)量,多于第一個(gè)參數(shù)值的成員將被截去并釋放相應(yīng)內(nèi)存?! ≡谑褂肅Array數(shù)組前,最好先使用SetSize確定其大小并申請(qǐng)存儲(chǔ)空間。如果不這樣做,向數(shù)組中增加元素時(shí),需要不斷地移動(dòng)和拷貝元素造成運(yùn)行的低效率和內(nèi)存碎塊。m_Array.Add(pt1);  Add函數(shù)添加數(shù)組元素。intsize=m_Array.GetSize();  GetSize返回?cái)?shù)組元素的數(shù)目。for(inti=0;i

8、tinde

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。