共用方式為


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
具型別指標陣組類別的基類;必須是陣列類別 ( CObArrayCPtrArray)。

類型
儲存在基類陣列中的項目類型。

src
要附加至數位的項目來源。

傳回值

第一個附加專案的索引。

備註

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

CTypedPtrArray::Copy

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

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

參數

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

類型
儲存在基類陣列中的項目類型。

src
要複製到陣列的項目來源。

備註

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

CTypedPtrArray::ElementAt

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

TYPE& ElementAt(INT_PTR nIndex);

參數

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

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

傳回值

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

備註

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

CTypedPtrArray::GetAt

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

TYPE GetAt(INT_PTR nIndex) const;

參數

類型
範本參數,指定儲存在數位中的項目類型。

nIndex
大於或等於 0 且小於或等於 ::GetUpperBoundBASE_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
具型別指標陣組類別的基類;必須是陣列類別 ( CObArrayCPtrArray)。

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

備註

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

CTypedPtrArray::operator [ ]

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

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

參數

類型
範本參數,指定儲存在數位中的項目類型。

nIndex
大於或等於 0 且小於或等於 ::GetUpperBoundBASE_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 類別