共用方式為


集合

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

注意

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

集合圖形

集合類別是依其圖形與其項目的類型來區別。 圖形是指依照集合來組織和儲存物件的方式。 MFC 提供三個基本集合圖形:清單、陣列和對應 (也稱為字典)。 您可以選擇最適合您的特定程式設計問題的集合圖形。

本主題稍後將簡短說明所提供三種集合圖形的各個圖形。 若要比較圖形的功能,以協助您決定最適合程式的功能,請參閱 選擇集合類別 的建議。

  • 清單

    清單類別提供經過排序非索引式的項目清單,實作為雙向連結串列。 清單中有「開頭」與「結尾」,從開頭或結尾加入或移除項目,或者從中間插入或刪除項目,都非常快速。

  • 陣列

    陣列類別提供動態調整大小、經過排序且整數索引式的物件陣列。

  • 對應 (也稱為字典)

    對應是將金鑰物件與值物件建立關聯的集合。

以範本為基礎的集合類別

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

下表列出的是 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 集合類別 資料表特性會根據這些特性來描述 MFC 集合類別(除了圖形以外):

  • 類別會使用 C++ 樣板與否

  • 儲存在集合中的項目是否可序列化

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

  • 集合是否為安全類型

您要做什麼

一般集合類別工作

樣板型集合類別工作

存取集合的成員 (樣板型或非樣板型)

另請參閱

概念
一般 MFC 主題