Megosztás:


CFixedStringT osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) és az Active Template Library (ATL) továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Ez az osztály rögzített karakterpufferrel rendelkező sztringobjektumot jelöl.

Szemantika

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

Paraméterek

StringType
A rögzített sztringobjektum alaposztályaként használható, és bármilyen CStringT-alapú típus lehet. Ilyenek például a CStringkövetkezők: , CStringAés CStringW.

t_nChars
A pufferben tárolt karakterek száma.

Tagok

Nyilvános konstruktorok

Név Description
CFixedStringT::CFixedStringT A sztringobjektum konstruktora.

Nyilvános operátorok

Név Description
CFixedStringT::operátor = Új értéket rendel egy CFixedStringT objektumhoz.

Megjegyzések

Ez az osztály egy példa egy egyéni sztringosztályra az alapján CStringT. Bár hasonló, a két osztály eltérő a megvalósításban. A főbb különbségek a CStringT következők:CFixedStringT

  • A kezdeti karakterpuffer az objektum részeként van lefoglalva, és mérete t_nChars. Ez lehetővé teszi, hogy az CFixedString objektum teljesítmény szempontjából egy összefüggő memóriatömböt foglaljon el. Ha azonban egy CFixedStringT objektum tartalma meghaladja a t_nChars, a puffer dinamikusan lesz lefoglalva.

  • Egy objektum karakterpuffere CFixedStringT mindig azonos hosszúságú ( t_nChars). Az objektumok puffermérete nincs korlátozva CStringT .

  • A memóriakezelő CFixedStringT úgy van testre szabva, hogy egy CStringData-objektum megosztása két vagy több CFixedStringT objektum között nem engedélyezett. CStringT objektumokra nem vonatkozik ez a korlátozás.

A sztringobjektumok testreszabásával és memóriakezelésével CFixedStringT kapcsolatos további információkért lásd: Memóriakezelés és CStringT.

Öröklési hierarchia

IAtlStringMgr

StringType

CFixedStringMgr

CFixedStringT

Requirements

Fejléc: cstringt.h

CFixedStringT::CFixedStringT

Egy CFixedStringT objektumot hoz létre.

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);

Paraméterek

pszSrc
Az objektumba CFixedStringT másolandó null értékű sztring.

strSrc
Az objektumba CFixedStringT másolandó meglévő CFixedStringT objektum.

pStringMgr
Az objektum memóriakezelőjének mutatója CFixedStringT . További információ a memóriakezelésről IAtlStringMgr és a memóriakezelésről CFixedStringT: Memóriakezelés és CStringT.

Megjegyzések

Mivel a konstruktorok átmásolják a bemeneti adatokat az új lefoglalt tárolóba, tisztában kell lennie azzal, hogy memóriakivételek következhetnek be. Ezen konstruktorok némelyike konverziós függvényként működik.

CFixedStringT::operátor =

Új adatokkal újrainicializál egy meglévő CFixedStringT objektumot.

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);

Paraméterek

pszSrc
Az objektumba CFixedStringT másolandó null értékű sztring.

strSrc
Az objektumba CFixedStringT másolandó meglévőCFixedStringT.

Megjegyzések

Vegye figyelembe, hogy memóriakivételek fordulhatnak elő a hozzárendelési operátor használatakor, mivel a rendszer gyakran új tárterületet foglal le az eredményként kapott CFixedStringT objektum tárolására.

Lásd még

CStringT osztály
hierarchiadiagram
ATL/MFC megosztott osztályok