CTypedPtrArray 類別
為 CPtrArray
或 CObArray
類別的物件提供類型安全「包裝函式」。
語法
template<class BASE_CLASS, class TYPE>
class CTypedPtrArray : public BASE_CLASS
參數
BASE_CLASS
具型別指標陣組類別的基類;必須是陣列類別 ( CObArray
或 CPtrArray
)。
類型
儲存在基類陣列中的項目類型。
成員
公用方法
名稱 | 描述 |
---|---|
CTypedPtrArray::Add | 將新專案加入至陣列的結尾。 視需要擴大數位 |
CTypedPtrArray::Append | 將一個數位的內容新增至另一個數位的結尾。 視需要擴大數位 |
CTypedPtrArray::Copy | 將其他陣列複製到該陣列;必要時讓陣列成長。 |
CTypedPtrArray::ElementAt | 傳回陣列中項目指標的臨時參考。 |
CTypedPtrArray::GetAt | 傳回給定索引的值。 |
CTypedPtrArray::InsertAt | 在指定索引處插入項目 (或其他陣列中的所有項目)。 |
CTypedPtrArray::SetAt | 設定給定索引的值;不容許陣列成長。 |
CTypedPtrArray::SetAtGrow | 設定給定索引的值;必要時讓陣列成長。 |
公用運算子
名稱 | 描述 |
---|---|
CTypedPtrArray::operator [ ] | 設定或取得指定索引處的項目。 |
備註
當您使用 CTypedPtrArray
而非 CPtrArray
或 CObArray
時,C++類型檢查設備可協助消除因指標類型不相符所造成的錯誤。
此外, CTypedPtrArray
包裝函式會執行使用 CObArray
或 CPtrArray
時所需的大部分轉換。
由於所有 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。