CStringData Class

此选件类表示字符串对象的数据。

struct CStringData

成员

方法

AddRef

增加字符串数据对象的引用计数。

data

检索字符串对象的字符数据。

IsLocked

确定关联的字符串对象的缓冲区是否锁定。

IsShared

确定关联的字符串对象的缓冲区当前是否共享。

锁定

锁关联的字符串对象的缓冲区。

Release

释放指定字符串对象。

unlock

打开关联的字符串对象的缓冲区。

数据成员

nAllocLength

分配的数据的长度。XCHAR中的(不包括终止null)

nDataLength

XCHAR中的当前使用的数据的长度(不包括终止null)

nRefs

当前对对象的引用计数。

pStringMgr

此字符串对象的字符串管理器的指针。

备注

应由实现自定义字符串管理器的开发人员只使用此选件类。 有关自定义字符串管理器的更多信息,请参见 内存管理和CStringT

此选件类封装信息和的各种数据类型与了更高的字符串对象,例如 CStringTCSimpleStringTCFixedStringT 对象。 每更高的字符串对象包含指向其关联的 CStringData 对象,允许多个字符串对象指向同一字符串数据对象。 此关系由引用计数(nRefs)表示 CStringData 对象。

备注

在某些情况下,字符串类型(例如 CFixedString)使用多个更高的字符串对象不会共享字符串数据对象。有关这方面的更多信息,请参见 内存管理和CStringT

此数据组成:

  • 内存管理器的类型( IAtlStringMgr)的字符串。

  • 当前长度(nDataLength)的字符串。

  • 分配的长度(nAllocLength)的字符串。 出于性能原因,这可能与当前字符串的长度不同

  • 当前引用计数(nRefs) CStringData 对象。 此值用于确定了字符串对象共享同一 CStringData 对象。

  • 实际字符缓冲区(数据)字符串。

    备注

    字符串管理器将字符串对象实际字符缓冲区和追加到 CStringData 对象。

要求

Header: atlsimpstr.h

请参见

参考

层次结构图

其他资源

ATL/MFC Shared Classes