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 []