Aracılığıyla paylaş


CFixedStringT Sınıfı

Bu sınıf, sabit karakter arabelleğine sahip bir dize nesnesini temsil eder.

Sözdizimi

template<class StringType, int t_nChars>
class CFixedStringT : private CFixedStringMgr, public StringType

Parametreler

StringType
Sabit dize nesnesi için temel sınıf olarak kullanılır ve herhangi bir CStringTtabanlı tür olabilir. Bazı örnekler arasında , CStringAve CStringWyer alırCString.

t_nChars
Arabellekte depolanan karakter sayısı.

Üyeler

Ortak Oluşturucular

Ad Tanım
CFixedStringT::CFixedStringT Dize nesnesinin oluşturucus.

Ortak İşleçler

Ad Tanım
CFixedStringT::operator = Nesneye yeni bir CFixedStringT değer atar.

Açıklamalar

Bu sınıf, tabanlı CStringTbir özel dize sınıfı örneğidir. Benzer olsa da, iki sınıf uygulamada farklılık gösterir. ile CStringT arasındaki CFixedStringT başlıca farklar şunlardır:

  • İlk karakter arabelleği nesnenin bir parçası olarak ayrılır ve boyutu t_nChars. Bu, nesnenin CFixedString performans amacıyla bitişik bir bellek öbeklerini kaplamasına olanak tanır. Ancak, bir CFixedStringT nesnenin içeriği t_nChars ötesinde büyürse, arabellek dinamik olarak ayrılır.

  • Nesnenin CFixedStringT karakter arabelleği her zaman aynı uzunluktadır ( t_nChars). Nesneler için CStringT arabellek boyutuyla ilgili bir sınırlama yoktur.

  • için CFixedStringT bellek yöneticisi, CStringData nesnesinin iki veya daha fazla CFixedStringT nesne arasında paylaşımına izin verilmeyen şekilde özelleştirilir. CStringT nesneleri bu sınırlamaya sahip değildir.

Genel olarak dize nesneleri için özelleştirme CFixedStringT ve bellek yönetimi hakkında daha fazla bilgi için bkz . Bellek Yönetimi ve CStringT.

Devralma Hiyerarşisi

IAtlStringMgr

StringType

CFixedStringMgr

CFixedStringT

Gereksinimler

Üst bilgi: cstringt.h

CFixedStringT::CFixedStringT

Bir CFixedStringT nesne oluşturur.

CFixedStringT() throw();
explicit CFixedStringT(IAtlStringMgr* pStringMgr) throw();
CFixedStringT(const CFixedStringT<StringType, t_nChars>& strSrc);
CFixedStringT(const StringType& strSrc);
CFixedStringT(const StringType::XCHAR* pszSrc);
explicit CFixedStringT(const StringType::YCHAR* pszSrc);
explicit CFixedStringT(const unsigned char* pszSrc);

Parametreler

pszSrc
Bu CFixedStringT nesneye kopyalanacak null ile sonlandırılan bir dize.

strSrc
Bu CFixedStringT nesneye kopyalanacak mevcut CFixedStringT bir nesne.

pStringMgr
Nesnenin bellek yöneticisinin işaretçisi CFixedStringT . ve için bellek yönetimi hakkında IAtlStringMgr daha fazla bilgi için CFixedStringTbkz . Bellek Yönetimi ve CStringT.

Açıklamalar

Oluşturucular giriş verilerini yeni ayrılmış depolama alanına kopyaladığı için bellek özel durumlarının neden olabileceğini bilmeniz gerekir. Bu oluşturuculardan bazıları dönüştürme işlevi görür.

CFixedStringT::operator =

Mevcut CFixedStringT bir nesneyi yeni verilerle yeniden başlatıyor.

CFixedStringT<StringType, t_nChars>& operator=(
    const CFixedStringT<StringType, t_nChars>& strSrc);
CFixedStringT<StringType, t_nChars>& operator=(const char* pszSrc);
CFixedStringT<StringType, t_nChars>& operator=(const wchar_t* pszSrc);
CFixedStringT<StringType, t_nChars>& operator=(const unsigned char* pszSrc);
CFixedStringT<StringType, t_nChars>& operator=(const StringType& strSrc);

Parametreler

pszSrc
Bu CFixedStringT nesneye kopyalanacak null ile sonlandırılan bir dize.

strSrc
Bu CFixedStringT nesneye kopyalanacak bir varCFixedStringT.

Açıklamalar

Atama işlecini her kullandığınızda bellek özel durumlarının oluşabileceğini unutmayın çünkü sonuçta elde CFixedStringT edilen nesneyi tutmak için genellikle yeni depolama alanı ayrılır.

Ayrıca bkz.

CStringT Sınıfı
Hiyerarşi Grafiği
ATL/MFC Paylaşılan Sınıfları