次の方法で共有


CStringData クラス

更新 : 2007 年 11 月

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

struct CStringData

解説

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

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

494hzt3b.alert_note(ja-jp,VS.90).gifメモ :

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

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

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

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

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

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

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

    494hzt3b.alert_note(ja-jp,VS.90).gifメモ :

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

必要条件

ヘッダー : atlsimpstr.h

スマート デバイス開発者のためのメモ

このクラスは、スマート デバイス プロジェクトではサポートされません。

参照

参照

階層図

その他の技術情報

CStringData のメンバ

ATL/MFC の共有クラス