CTypedPtrArray

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

BASE_CLASS

参 数

BASE_CLASS

类 型 指 针 数 组 类 的 基 类 ; 必 须 是 一 个 数 组 类 ( CObArray 或 CPtrArray ) 。 .

TYPE

保 存 在 基 类 数 组 中 的 元 素 的 类 型 。

说 明

CTypedPtrArray 类 为 CPtrArray 或 CObArray 类 对 象 提 供 了 一 个 类 型 - 安 全 “ 包装 ” 。 当 你 使 用 CTypedPtrArray 而 不 是 CPtrArray 或 CObArray 时 , C++ 类 型 - 检 查 工 具 帮 助 消 除 由 不 匹 配 的 指 针 类 型 引 发 的 错 误 。

另 外 , CTypedPtrArray 包 装 了 许 多 在 你 使 用 CObArray 或 CPtrArray 时 必 须 使 用的 强 制 转 换 。

由 于 所 有 的 CTypedPtrArray 函 数 都 是 内 联 的 , 所 以 使 用 这 个 模 板 不 会 使 你 的 代码 的 大 小 或 速 度 受 到 很 大 的 影 响 。

有 关 使 用 CTypedPtrArray 的 更 多 信 息 , 参 见 “ Visual C++ 程 序 员 指 南 ” 中 的 文章 “ 集 合 ” 和 “ 集 合 : 基 于 模 板 的 类 ” 。

#include <afxtempl.h>

请 参 阅 CPtrArray, CObArray

CTypedPtrArray 类 成 员

Element Access

GetAt 返 回 给 定 索 引 处 的 值

ElementAt 返 回 一 个 对 数 组 中 的 元 素 指 针 的 模 板 引 用

SetAt 为 一 个 给 定 索 引 设 置 值 , 不 允 许 数 组 增 长

SetAtGrow 为 一 个 给 定 索 引 设 置 值 , 允 许 数 组 增 长

Add 将 一 个 新 元 素 添 加 到 设 置 的 尾 部 。 如 果 必 要 可 以 增长 数 组

Append 将 一 个 设 置 的 内 容 添 加 到 另 一 个 数 组 的 结 尾 。 如 果必 要 可 以 增 长 数 组

Copy 将 另 一 个 数 组 拷 贝 到 该 数 组 , 如 果 必 要 可 以 增 长 该数 组

InsertAt 在 一 个 指 定 索 引 处 插 入 一 个 元 素 ( 或 另 一 个 数 组 中的 索 引 元 素 )

Operators

operator 设 置 或 获 取 指 定 索 引 处 的 元 素

成 员 函 数

CTypedPtrArray::Add

int Add( TYPE newElement );

返 回 值

返 回 被 添 加 元 素 的 索 引 。

参 数

TYPE

指 定 要 添 加 到 数 组 中 的 元 素 的 类 型 的 模 板 参 数 。

newElement

要 添 加 到 此 数 组 中 去 的 元 素 。

说 明

此 成 员 函 数 调 用 BASE_CLASS::Add 。 更 多 的 细 节 说 明 , 参 见 CObArray::Add 。

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

返 回 值

返 回 第 一 个 被 添 加 元 素 的 索 引 。

参 数

BASE_CLASS

类 型 指 针 数 组 类 的 基 类 ; 必 须 是 一 个 数 组 类 ( CObArray 或 CPtrArray ) 。

TYPE

src

说 明

保 存 在 基 类 数 组 中 的 元 素 的 类 型 。要 被 添 加 到 一 个 数 组 中 的 元 素 的 源 。

此 成 员 函 数 调 用 BASE_CLASS ::Append 。更 多 的 细 节 说 明 ,参 见 CObArray::Add 。

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

参 数

BASE_CLASS

类 型 指 针 数 组 类 的 基 类 ; 必 须 是 一 个 数 组 类 ( CObArray 或 CPtrArray ) 。

TYPE

src

说 明

保 存 在 基 类 数 组 中 的 元 素 的 类 型 。要 被 拷 贝 到 一 个 数 组 中 的 元 素 的 源 。

此 成 员 函 数 调 用 BASE_CLASS ::Copy 。 更 多 的 细 节 说 明 , 参 见 CObArray::Add。

CTypedPtrArray::ElementAt

TYPE & ElementAt( int nIndex );

返 回 一 个 对 位 于 由 nIndex 指 定 的 位 置 的 元 素 的 模 板 引 用 。 这 个 元 素 的 类 型 是 由

TYPE 模 板 参 数 指 定 的 。

参 数

TYPE

指 定 保 存 在 此 数 组 的 元 素 类 型 的 模 板 参 数 。

nIndex

一 个 整 数 索 引 , 它 大 于 或 等 于 0 , 小 于 或 等 于 由

BASE_CLASS ::GetUpperBound 返 回 的 值 。

说 明

此 成 员 函 数 调 用 BASE_CLASS ::ElementAt 。 更 多 的 细 节 说 明 , 参 见

CObArray::ElementA t。

请 参 阅 CObArray::ElementAt, CObArray::GetUpperBound

CTypedPtrArray::GetAt

TYPE GetAt( int nIndex ) const;

返 回 位 于 nIndex 指 定 的 位 置 的 元 素 的 拷 贝 。 这 个 元 素 的 类 型 由 TYPE 模 板 参 数指 定 。

参 数

TYPE

指 定 保 存 在 此 数 组 的 元 素 的 类 型 的 模 板 参 数 。

nIndex

一 个 整 数 索 引 , 它 大 于 或 等 于 0 , 小 于 或 等 于 由

BASE_CLASS ::GetUpperBound 返 回 的 值 。

说 明

此 成 员 函 数 调 用 BASE_CLASS ::GetA t。更 多 的 细 节 说 明 ,参 见 CObArray::GetA t。

请 参 阅 CObArray::GetAt, CObArray::GetUpperBound

CTypedPtrArray::InsertAt

void InsertAt( int nIndex , TYPE newElemen t , int nCount = 1 );

void InsertAt( int nStartIndex , CTypedPtrArray< BASE_CLASS , TYPE >*

pNewArray );

参 数

nIndex

一 个 整 数 索 引 , 可 能 大 于 由 CObArray::GetUpperBound 返 回 的 值 。

TYPE

保 存 在 基 类 数 组 中 的 元 素 的 类 型 。

newElement

要 放 置 在 此 数 组 中 的 对 象 指 针 。 newElement 的 值 可 以 是 NULL 。

nCount

此 元 素 将 被 插 入 的 次 数 ( 缺 省 为 1 ) 。

nStartIndex

一 个 可 能 大 于 由 CObArray::GetUpperBound 返 回 值 的 整 数 索 引 。

BASE_CLASS

类 型 指 针 数 组 类 的 基 类 ; 必 须 是 一 个 数 组 类 ( CObArray 或 CPtrArray ) 。

pNewArray

另 一 个 包 含 要 被 添 加 到 此 设 置 中 的 元 素 的 数 组 。

说 明

此 成 员 函 数 调 用 BASE_CLASS ::InsertAt 。 更 多 的 细 节 说 明 , 参 见

CObArray::InsertA t。

CTypedPtrArray::SetAt

void SetAt( int nIndex , TYPE ptr );

参 数

nIndex

一 个 整 数 索 引 ,它 大 于 或 等 于 0 ,小 于 或 等 于 由 CObArray ::GetUpperBound

返 回 的 值 。

TYPE

ptr

保 存 在 基 类 数 组 中 的 元 素 类 型 。

  • 个 指 向 要 被 插 入 此 数 组 的 指 定 索 引 处 的 元 素 的 指 针 。 可 以 是 NULL 。

说 明

此 成 员 函 数 调 用 BASE_CLASS ::SetAt 。 更 多 的 细 节 说 明 , 参 见

CObArray::SetrtA t。

CTypedPtrArray::SetAtGrow

void SetAtGrow( int nIndex , TYPE newElement );

参 数

nIndex

一 个 整 数 索 引 , 它 大 于 或 等 于 0 。

TYPE

保 存 在 基 类 数 组 的 元 素 类 型 。

newElement

要 被 添 加 到 此 数 组 中 的 对 象 指 针 。 可 以 是 NULL 。

说 明

此 成 员 函 数 调 用 BASE_CLASS ::SetAtGrow 。 更 多 的 细 节 说 明 , 参 见

CObArray::SetAtGrow 。

操 作 符

CTypedPtrArray::operator[ ]

TYPE & operator[ ]( int nIndex );

TYPE operator[ ]( int nIndex ) const;

参 数

TYPE

指 定 保 存 在 此 数 组 的 元 素 的 类 型 的 模 板 参 数 。

nIndex

一 个 整 数 索 引 , 它 大 于 或 等 于 0 , 小 于 或 等 于 由

BASE_CLASS ::GetUpperBound 返 回 的 值 。

说 明

这 些 内 联 操 作 符 调 用 BASE_CLASS ::operator[ ] 。

第 一 个 操 作 符 , 对 不 是 const 的 数 组 使 用 , 可 以 使 用 在 一 个 赋 值 语 句 的 右 边 ( r- 值 ) 或 左 边 ( l- 值 ) 。 第 二 个 操 作 符 , 是 对 const 数 组 使 用 的 , 只 能 被 使 用 在 右边 。

请 参 阅 CObArray::operator []