C S tringArray

CStringArray 类 支 持 CString 对 象 数 组 。

CStringArray 的 成 员 函 数 类 似 于 CObArray 类 的 成 员 函 数 。 由 于 具 有 这 些 相 似性 , 你 可 以 参 考 关 于 CObArray 的 参 考 文 件 来 获 取 CStringArray 成 员 函 数 的 详细 说 明 。 如 果 在 说 明 中 看 到 某 一 函 数 的 返 回 值 是 一 个 指 向 CObject 对 象 的 指 针 , 则 可 以 用 一 个 CString( 而 不 是 一 个 CString 指 针 ) 来 代 替 它 。 如 果 看 到 某 一 函数 的 参 数 是 一 个 指 向 CObject 的 指 针 , 则 可 以 用 LPCTSTR 来 代 替 它 。

例 如 , 可 以 将

CObject* CObArray::GetAt( int <nIndex> ) const;

转 换 为

CString CStringArray::GetAt( int <nIndex> ) const;

和 将

void SetAt( int <nIndex>, CObject* <newElement> )

转 换 为

void SetAt( int <nIndex>, LPCTSTR <newElement> ) 。

CStringArray 与 IMPLEMENT_SERIAL 宏 联 合 起 来 支 持 其 元 素 的 连 续 和 转 储 。如 果 一 个 CString 对 象 数 组 被 用 一 个 重 载 的 插 入 操 作 符 或 Serialize 成 员 函 数 保存 到 一 个 存 档 中 , 则 它 的 每 一 个 元 素 都 按 顺 序 连 续 。

注 意 在 使 用 一 个 数 组 之 前 , 使 用 SetSize 来 建 立 它 的 大 小 并 给 它 分 配

内 存 。 如 果 你 不 使 用 SetSize , 则 向 数 组 中 添 加 元 素 将 导 致 数 组 被 频 繁 地拷 贝 和 分 配 内 存 。 频 繁 分 配 内 存 和 拷 贝 会 导 致 效 率 低 和 内 存 零 碎 。

如 果 你 需 要 数 组 中 个 别 字 符 串 元 素 的 转 储 , 则 应 该 将 转 储 环 境 的 深 度 设 置 为 1 或 更 大 。 当 一 个 CString 数 组 被 删 除 时 , 或 当 其 中 的 个 别 元 素 被 删 除 时 , 字 符串 内 存 被 根 据 需 要 释 放 。

有 关 使 用 CStringArray 的 更 多 信 息 , 参 见 “ V isual C++ 程 序 员 指 南 ” 中 的 文 章“ 集 合 ” 。

#include <afxcoll.h>

CStringArray 类 成 员

Construction

CStringArray 构 造 一 个 空 的 CString 对 象 数 组

Bound s GetSize 获 取 这 个 数 组 中 的 元 素 数 目

GetUpperBound 返 回 最 大 的 有 效 索 引

SetSize 设 置 这 个 数 组 中 包 含 的 元 素 数 目

Operations

FreeExtra 释 放 当 前 数 组 边 界 之 外 的 未 使 用 的 所 有 内 存

RemoveAll 从 数 组 中 删 除 所 有 元 素

Elemen t Acces s GetAt 返 回 位 于 给 定 索 引 处 的 值

SetAt 设 置 给 定 索 引 处 的 元 素 的 值 ; 不 得 将 数 组 增 大

ElementAt 返 回 对 数 组 中 的 某 一 元 素 指 针 的 临 时 引 用

GetData 对 数 组 中 的 元 素 允 许 的 访 问 。 可 以 是 NULL

Growin g th e Arra y SetAtGrow 设 置 给 定 索 引 处 的 值 , 如 果 必 要 的 话 可 以 增 长 数 组Add 在 数 组 的 末 尾 添 加 一 个 元 素 ; 可 根 据 需 要 增 长 数 组

Append 向 数 组 中 添 加 另 一 个 数 组 ; 如 果 必 要 的 话 可 增 长 数

Copy 将 另 一 个 数 组 拷 贝 到 此 数 组 中 ; 如 果 必 要 的 话 可 增长 数 组

Insertion/Remova l InsertAt 在 指 定 索 引 处 插 入 一 个 元 素 ( 或 者 是 另 一 个 数 组 中

的 所 有 元 素 )

RemoveAt 删 除 指 定 索 引 处 的 一 个 元 素

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