CFixedStringT クラス
このクラスは、固定された文字バッファーを持つ文字列オブジェクトを表します。
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