次の方法で共有


CStringData クラス

このクラスは、文字列オブジェクトのデータを表します。

struct CStringData

解説

このクラスは、カスタム文字列マネージャーを実装している開発者だけが使用します。 カスタム文字列マネージャーの詳細については、「メモリ管理と CStringT」を参照してください。

このクラスは、CStringTCSimpleStringTCFixedStringT オブジェクトなどの上位の文字列オブジェクトに関連付けられている、各種の情報やデータをカプセル化します。 すべての上位の文字列オブジェクトには、各オブジェクトに関連付けられている CStringData オブジェクトへのポインターが含まれているため、複数の文字列オブジェクトが同一の文字列データ オブジェクトを指すこともできます。 このリレーションシップは、CStringData オブジェクトの参照カウント (nRefs) によって表されます。

注意

場合によっては、特定の文字列型 (CFixedString など) が複数の上位の文字列オブジェクトと文字列データ オブジェクトを共有しないこともあります。 詳細については、「メモリ管理と CStringT」を参照してください。

このデータの構成は、次のとおりです。

  • 文字列のメモリ マネージャー (IAtlStringMgr 型)。

  • 文字列の現在の長さ (nDataLength)。

  • 文字列の割り当てられた長さ (nAllocLength)。 パフォーマンス上の理由により、現在の文字列長とは異なる場合があります。

  • CStringData オブジェクトの現在の参照カウント (nRefs)。 この値は、同一の CStringData オブジェクトを共有している文字列オブジェクトの数を判断するために使用されます。

  • 文字列の実際の文字バッファー (data)。

    注意

    文字列オブジェクトの実際の文字バッファーは、文字列マネージャーによって割り当てられ、CStringData オブジェクトに追加されます。

必要条件

**ヘッダー:**atlsimpstr.h

参照

参照

階層図

その他の技術情報

CStringData のメンバー

ATL/MFC の共有クラス