分享方式:


CTypedPtrArray 類別

CPtrArrayCObArray類別的物件提供類型安全「包裝函式」。

語法

template<class BASE_CLASS, class TYPE>
class CTypedPtrArray : public BASE_CLASS

參數

BASE_CLASS
具型別指標陣列類別的基類;必須是陣列類別 ( CObArrayCPtrArray )。

類型
儲存在基類陣列中的專案類型。

成員

公用方法

名稱 描述
CTypedPtrArray::Add 將新專案加入至陣列的結尾。 視需要擴大陣列
CTypedPtrArray::Append 將一個陣列的內容新增至另一個陣列的結尾。 視需要擴大陣列
CTypedPtrArray::Copy 將其他陣列複製到該陣列;必要時讓陣列成長。
CTypedPtrArray::ElementAt 傳回陣列中項目指標的臨時參考。
CTypedPtrArray::GetAt 傳回給定索引的值。
CTypedPtrArray::InsertAt 在指定索引處插入項目 (或其他陣列中的所有項目)。
CTypedPtrArray::SetAt 設定給定索引的值;不容許陣列成長。
CTypedPtrArray::SetAtGrow 設定給定索引的值;必要時讓陣列成長。

公用運算子

名稱 描述
CTypedPtrArray::operator [ ] 設定或取得指定索引處的項目。

備註

當您使用 CTypedPtrArray 而非 CPtrArrayCObArray 時,C++ 類型檢查設備有助於消除因指標類型不相符所造成的錯誤。

此外, CTypedPtrArray 包裝函式會執行使用 CObArrayCPtrArray 時所需的大部分轉換。

由於所有 CTypedPtrArray 函式都是內嵌的,因此使用此範本並不會影響程式碼的大小或速度。

如需使用 CTypedPtrArray 的詳細資訊,請參閱集合 範本型類別一 文 。

繼承階層架構

BASE_CLASS

CTypedPtrArray

需求

Header: afxtempl.h

CTypedPtrArray::Add

此成員函式會呼叫 BASE_CLASS ::Add

INT_PTR Add(TYPE newElement);

參數

類型
樣板參數,指定要加入至陣列的專案類型。

newElement
要加入至這個陣列的專案。

傳回值

加入之專案的索引。

備註

如需更詳細的備註,請參閱 CObArray::Add

CTypedPtrArray::Append

此成員函式會呼叫 BASE_CLASS ::Append**。

INT_PTR Append(const CTypedPtrArray<BASE_CLASS, TYPE>& src);

參數

BASE_CLASS
具型別指標陣列類別的基類;必須是陣列類別 ( CObArray CPtrArray )。

類型
儲存在基類陣列中的專案類型。

src
要附加至陣列的專案來源。

傳回值

第一個附加專案的索引。

備註

如需更詳細的備註,請參閱 CObArray::Append

CTypedPtrArray::Copy

此成員函式會呼叫 BASE_CLASS ::Copy

void Copy(const CTypedPtrArray<BASE_CLASS, TYPE>& src);

參數

BASE_CLASS
具型別指標陣列類別的基類;必須是陣列類別 ( CObArray CPtrArray )。

類型
儲存在基類陣列中的專案類型。

src
要複製到陣列的專案來源。

備註

如需更詳細的備註,請參閱 CObArray::Copy

CTypedPtrArray::ElementAt

此內嵌函式會呼叫 BASE_CLASS ::ElementAt

TYPE& ElementAt(INT_PTR nIndex);

參數

類型
樣板參數,指定儲存在此陣列中的專案類型。

nIndex
大於或等於 0 且小於或等於 ::GetUpperBound BASE_CLASS 傳回值的整數索引。

傳回值

位於 nIndex 指定位置之專案的暫存參考。 這個專案是樣板參數 TYPE 所指定的類型

備註

如需更詳細的備註,請參閱 CObArray::ElementAt

CTypedPtrArray::GetAt

此內嵌函式會呼叫 BASE_CLASS ::GetAt

TYPE GetAt(INT_PTR nIndex) const;

參數

類型
範本參數,指定儲存在陣列中的專案類型。

nIndex
大於或等於 0 且小於或等於 ::GetUpperBound BASE_CLASS 傳回值的整數索引。

傳回值

位於 nIndex 指定位置的專案複本。 這個專案是樣板參數 TYPE 所指定的類型

備註

如需更詳細的備註,請參閱 CObArray::GetAt

CTypedPtrArray::InsertAt

此成員函式會呼叫 BASE_CLASS ::InsertAt

void InsertAt(
    INT_PTR nIndex,
    TYPE newElement,
    INT_PTR nCount = 1);

void InsertAt(
    INT_PTR nStartIndex,
    CTypedPtrArray<BASE_CLASS, TYPE>* pNewArray);

參數

nIndex
可能大於 CObArray::GetUpperBound 傳回值的整數索引。

類型
儲存在基類陣列中的專案類型。

newElement
要放置在這個陣列中的物件指標。 允許 null 值 newElement

nCount
應該插入這個專案的次數(預設值為 1)。

nStartIndex
整數索引,可能大於 所 CObArray::GetUpperBound 傳回的值。

BASE_CLASS
具型別指標陣列類別的基類;必須是陣列類別 ( CObArray CPtrArray )。

pNewArray
另一個陣列,其中包含要加入至這個陣列的專案。

備註

如需更詳細的備註,請參閱 CObArray::InsertAt

CTypedPtrArray::operator [ ]

這些內嵌運算子會呼叫 BASE_CLASS ::operator [ ]

TYPE& operator[ ](int_ptr nindex);
TYPE operator[ ](int_ptr nindex) const;

參數

類型
範本參數,指定儲存在陣列中的專案類型。

nIndex
大於或等於 0 且小於或等於 ::GetUpperBound BASE_CLASS 傳回值的整數索引。

備註

針對不是 const 的陣列呼叫的第一個運算子,可以在指派語句的右邊(r-value) 或左(l-value) 上使用。 針對陣列叫 const 用的第二個只能在右側使用。

程式庫的 [偵錯] 版本會判斷提示下標 (在指派語句的左邊或右側) 超出界限。

CTypedPtrArray::SetAt

此成員函式會呼叫 BASE_CLASS ::SetAt

void SetAt(
    INT_PTR nIndex,
    TYPE ptr);

參數

nIndex
大於或等於 0 且小於或等於 CObArray::GetUpperBound 傳回值的整數索引。

類型
儲存在基類陣列中的專案類型。

ptr
要插入至 nIndex 陣列中之專案的指標。 允許 Null 值。

備註

如需更詳細的備註,請參閱 CObArray::SetAt

CTypedPtrArray::SetAtGrow

此成員函式會呼叫 BASE_CLASS ::SetAtGrow

void SetAtGrow(
    INT_PTR nIndex,
    TYPE newElement);

參數

nIndex
大於或等於 0 的整數索引。

類型
儲存在基類陣列中的專案類型。

newElement
要加入至這個陣列的物件指標。 允許 Null 值。

備註

如需更詳細的備註,請參閱 CObArray::SetAtGrow

另請參閱

MFC 範例 COLLECT
階層架構圖表
CPtrArray 類別
CObArray 類別