共用方式為


集合

Mfc 程式庫提供管理物件群組的集合類別。 這些類別有兩種類型:

  • 從 C++ 樣板建立的集合類別

  • 無法從範本建立的集合類別

注意事項注意事項

如果您的程式碼已經使用非樣板集合類別,您可以繼續使用它們。如果您撰寫新的型別安全集合類別為您自己的資料型別時,建議您使用較新的樣板式類別。

集合形狀

集合類別的特點在於,由 「 形狀 」 和其元素的型別。 圖形是指組織和儲存由集合物件的方式。 MFC 提供三種基本的集合形狀: 列出、 陣列和對應 (也稱為字典)。 您可以挑選的是最適合您特定程式設計問題的集合形狀。

三個提供的集合形狀的每個簡短稍後將說明這個主題。 若要比較的圖案以幫助您決定最適合於您的程式功能,請參閱Recommendations for Choosing a Collection 類別

  • List

    List 類別會提供排序、 無索引的項目清單,實作為雙向連結串列。 清單有一個 「 前端 」 和 「 尾端 」,以及新增或移除項目從標頭或尾端,或插入或刪除項目的中間,是非常快速。

  • 陣列

    陣列類別有提供動態調整大小、 已排序,以及整數索引的陣列的物件。

  • 對應 (也稱為字典)

    對應是結合和值物件的索引鍵的物件的集合。

樣板式集合類別

若要實作型別安全集合,包含任何型別的物件最簡單的方法是使用 MFC 樣板式類別的其中一個。 如需這些類別的範例,請參閱 MFC 範例收集

下表列出了 MFC 樣板式集合類別。

集合樣板類別

集合內容

陣列

清單

對應

任何型別之物件的集合

CArray

CList

CMap

任何型別之物件的指標集合

CTypedPtrArray

CTypedPtrList

CTypedPtrMap

非樣板式集合類別

如果您的應用程式已經使用 MFC 非樣板類別,您可以繼續使用它們。 不過,對於新的集合,我們建議您使用樣板式類別。 下表列出 MFC 集合類別,不以範本為基礎。

非樣板集合類別

陣列

清單

對應

CObArray

CObList

CMapPtrToWord

CByteArray

CPtrList

CMapPtrToPtr

CDWordArray

CStringList

CMapStringToOb

CPtrArray

 

CMapStringToPtr

CStringArray

 

CMapStringToString

CWordArray

 

CMapWordToOb

CUIntArray

 

CMapWordToPtr

MFC 集合類別的特性表中Recommendations for Choosing a Collection 類別說明 MFC 集合類別,這些特性 (而不是圖形) 的角度來看:

  • 該類別是否使用 C++ 樣板

  • 儲存在集合中的項目可以變更進行序列化

  • 是否儲存在集合中的項目可以是診斷傾印

  • 這個集合是否是型別安全

942860sh.collapse_all(zh-tw,VS.110).gif您想要怎麼做?

942860sh.collapse_all(zh-tw,VS.110).gif一般集合類別工作

942860sh.collapse_all(zh-tw,VS.110).gif樣板式集合類別工作

942860sh.collapse_all(zh-tw,VS.110).gif存取集合的成員 (以範本為基礎與否)

請參閱

概念

一般 MFC 主題

其他資源

MFC 概念