Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato třída představuje řetězcový objekt s pevnou znakovou vyrovnávací pamětí.
Syntaxe
template<class StringType, int t_nChars>
class CFixedStringT : private CFixedStringMgr, public StringType
Parametry
StringType
Používá se jako základní třída pro objekt s pevným řetězcem a může být libovolný CStringTtyp založený na. Mezi příklady patří CString, CStringAa CStringW.
t_nChars
Počet znaků uložených ve vyrovnávací paměti.
Členové
Veřejné konstruktory
| Název | Popis |
|---|---|
| CFixedStringT::CFixedStringT | Konstruktor pro objekt string. |
Veřejné operátory
| Název | Popis |
|---|---|
| CFixedStringT::operator = | Přiřadí objektu novou hodnotu CFixedStringT . |
Poznámky
Tato třída je příkladem vlastní třídy řetězce založené na CStringT. I když jsou podobné, dvě třídy se v implementaci liší. Hlavní rozdíly mezi CFixedStringT a CStringT mezi těmito hlavními rozdíly jsou:
Počáteční vyrovnávací paměť znaků je přidělena jako součást objektu a má velikost t_nChars. Objekt tak může
CFixedStringzabírat souvislý blok paměti pro účely výkonu. Pokud se ale obsah objektuCFixedStringTrozrůstá nad rámec t_nChars, přiděluje se vyrovnávací paměť dynamicky.Vyrovnávací paměť znaků objektu
CFixedStringTje vždy stejná délka ( t_nChars). Pro objekty neexistuje žádné omezení velikostiCStringTvyrovnávací paměti.Správce paměti je
CFixedStringTpřizpůsoben tak, aby sdílení objektu CStringData mezi dvěma nebo víceCFixedStringTobjekty není povoleno.CStringTobjekty nemají toto omezení.
Další informace o přizpůsobení CFixedStringT a správě paměti pro objekty řetězců obecně naleznete v tématu Správa paměti a CStringT.
Hierarchie dědičnosti
IAtlStringMgr
StringType
CFixedStringMgr
CFixedStringT
Požadavky
Hlavička: cstringt.h
CFixedStringT::CFixedStringT
CFixedStringT Vytvoří 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);
Parametry
pszSrc
Řetězec ukončený hodnotou null, který se má zkopírovat do tohoto CFixedStringT objektu.
strSrc
Existující CFixedStringT objekt, který se má do tohoto CFixedStringT objektu zkopírovat.
pStringMgr
Ukazatel na správce paměti objektu CFixedStringT . Další informace o IAtlStringMgr správě paměti naleznete CFixedStringTv tématu Správa paměti a CStringT.
Poznámky
Vzhledem k tomu, že konstruktory kopírují vstupní data do nového přiděleného úložiště, měli byste vědět, že výjimky paměti mohou mít za následek. Některé z těchto konstruktorů fungují jako konverzní funkce.
CFixedStringT::operator =
Znovu inicializuje existující CFixedStringT objekt s novými daty.
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);
Parametry
pszSrc
Řetězec ukončený hodnotou null, který se má zkopírovat do tohoto CFixedStringT objektu.
strSrc
Existující CFixedStringT objekt, který se má zkopírovat do tohoto CFixedStringT objektu.
Poznámky
Měli byste vědět, že výjimky paměti mohou nastat vždy, když použijete operátor přiřazení, protože nové úložiště je často přiděleno k uložení výsledného CFixedStringT objektu.