CFixedStringT クラス
更新 : 2007 年 11 月
このクラスは、固定された文字バッファを持つ文字列オブジェクトを表します。
template< class StringType, int t_nChars >
class CFixedStringT : private CFixedStringMgr, public StringType
パラメータ
StringType
ここで指定した型が、固定された文字列オブジェクトの基本クラスとして使用されます。CStringT ベースの任意の文字列型を指定できます。たとえば、CString、CStringA、CStringW などを指定できます。t_nChars
バッファ内に格納されている文字の数。
解説
このクラスは、CStringT をベースにしているカスタム文字列クラスの一例です。CFixedStringT と CStringT は互いによく似ていますが、実装は異なります。CFixedStringT と CStringT の主な違いは次のとおりです。
CFixedStringT オブジェクトの一部として、最初の文字バッファが割り当てられます。この文字バッファのサイズは t_nChars で指定した値になります。この割り当てによって、CFixedString オブジェクトは連続したメモリ チャンクを使用できるようになり、安定したパフォーマンスが得られます。ただし、CFixedStringT オブジェクトのサイズが t_nChars の値を超えると、バッファは動的に割り当てられます。
CFixedStringT オブジェクトの文字バッファのサイズは、常に一定 (t_nChars の値) です。CStringT オブジェクトのバッファ サイズには、特に制限はありません。
CFixedStringT のメモリ マネージャはカスタマイズされていて、複数の CFixedStringT オブジェクト間での CStringData オブジェクトの共有はできません。CStringT オブジェクトには、このような制約はありません。
CFixedStringT のカスタマイズ、および文字列オブジェクトのメモリ管理の詳細については、「メモリ管理と CStringT」を参照してください。
必要条件
ヘッダー : cstringt.h