CStringArray クラス
更新 : 2007 年 11 月
CString オブジェクトの配列をサポートします。
class CStringArray : public CObject
解説
CStringArray のメンバ関数は、CObArray クラスのメンバ関数とほぼ同じです。メンバ関数については CObArray クラスの説明を参照してください。関数の戻り値として 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 の使い方の詳細については、「コレクション クラス」を参照してください。
必要条件
ヘッダー : afxcoll.h