Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Klasse stellt ein Zeichenfolgenobjekt mit einem festen Zeichenpuffer dar.
Syntax
template<class StringType, int t_nChars>
class CFixedStringT : private CFixedStringMgr, public StringType
Parameter
StringType
Wird als Basisklasse für das feste Zeichenfolgenobjekt verwendet und kann ein beliebiger CStringT-basierter Typ sein. Einige Beispiele sind : CString, CStringAund CStringW.
t_nChars
Die Anzahl der im Puffer gespeicherten Zeichen.
Member
Öffentliche Konstruktoren
| Name | Beschreibung |
|---|---|
| CFixedStringT::CFixedStringT | Der Konstruktor für das Zeichenfolgenobjekt. |
Öffentliche Operatoren
| Name | Beschreibung |
|---|---|
| CFixedStringT::operator = | Weist einem CFixedStringT Objekt einen neuen Wert zu. |
Hinweise
Diese Klasse ist ein Beispiel für eine benutzerdefinierte Zeichenfolgenklasse basierend auf CStringT. Obwohl die beiden Klassen ähnlich sind, unterscheiden sich die beiden Klassen in der Implementierung. Die wichtigsten Unterschiede zwischen CFixedStringT und CStringT sind:
Der anfängliche Zeichenpuffer wird als Teil des Objekts zugewiesen und weist die Größe t_nChars auf. Dadurch kann das
CFixedStringObjekt einen zusammenhängenden Speicherabschnitt für Leistungszwecke belegen. Wenn der Inhalt einesCFixedStringTObjekts jedoch über t_nChars hinaus wächst, wird der Puffer dynamisch zugeordnet.Der Zeichenpuffer für ein
CFixedStringTObjekt ist immer dieselbe Länge ( t_nChars). Es gibt keine Einschränkung der Puffergröße fürCStringTObjekte.Der Speicher-Manager für
CFixedStringTist so angepasst, dass die Freigabe eines CStringData-Objekts zwischen zwei oder mehrCFixedStringTObjekten nicht zulässig ist.CStringTObjekte haben diese Einschränkung nicht.
Weitere Informationen zur Anpassung und CFixedStringT Speicherverwaltung für Zeichenfolgenobjekte im Allgemeinen finden Sie unter Speicherverwaltung und CStringT.
Vererbungshierarchie
IAtlStringMgr
StringType
CFixedStringMgr
CFixedStringT
Anforderungen
Kopfzeile: cstringt.h
CFixedStringT::CFixedStringT
Erstellt ein CFixedStringT-Objekt.
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);
Parameter
pszSrc
Eine mit Null beendete Zeichenfolge, die in dieses CFixedStringT Objekt kopiert werden soll.
strSrc
Ein vorhandenes CFixedStringT Objekt, das in dieses CFixedStringT Objekt kopiert werden soll.
pStringMgr
Ein Zeiger auf den Speicher-Manager des CFixedStringT Objekts. Weitere Informationen zur IAtlStringMgr Speicherverwaltung und zur Speicherverwaltung CFixedStringTfinden Sie unter "Speicherverwaltung" und "CStringT".
Hinweise
Da die Konstruktoren die Eingabedaten in neuen zugewiesenen Speicher kopieren, sollten Sie beachten, dass Speichereinnahmen dazu führen können. Einige dieser Konstruktoren dienen als Konvertierungsfunktionen.
CFixedStringT::operator =
Initialisiert ein vorhandenes CFixedStringT Objekt mit neuen Daten erneut.
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);
Parameter
pszSrc
Eine mit Null beendete Zeichenfolge, die in dieses CFixedStringT Objekt kopiert werden soll.
strSrc
Ein vorhandenes CFixedStringT Objekt, das in dieses CFixedStringT Objekt kopiert werden soll.
Hinweise
Beachten Sie, dass Speicherausnahmen auftreten können, wenn Sie den Zuordnungsoperator verwenden, da häufig neuer Speicher für das resultierende CFixedStringT Objekt zugeordnet ist.