Sdílet prostřednictvím


IAtlStringMgr – třída

Tato třída představuje rozhraní správce CStringT paměti.

Syntaxe

__interface IAtlStringMgr

Členové

Metody

Název Popis
Přidělit Voláním této metody přidělte novou řetězcovou datovou strukturu.
Klonování Voláním této metody vrátíte ukazatel na nového správce řetězců pro použití s jinou instancí CSimpleStringT.
Zadejte možnost pro bezplatnou SKU. Voláním této metody uvolníte řetězcovou datovou strukturu.
GetNilString Vrátí ukazatel na CStringData objekt používaný prázdnými řetězcovými objekty.
Přerozdělit Voláním této metody lze relokovat řetězcovou datovou strukturu.

Poznámky

Toto rozhraní spravuje paměť používanou třídami řetězců nezávislých na mfc; například CSimpleStringT, CStringT a CFixedStringT.

Tuto třídu můžete také použít k implementaci vlastního správce paměti pro vaši vlastní třídu řetězců. Další informace naleznete v tématu Správa paměti a CStringT.

Požadavky

Hlavička: atlsimpstr.h

IAtlStringMgr::Přidělení

Přidělí novou datovou strukturu řetězců.

CStringData* Allocate(int nAllocLength,int nCharSize) throw();

Parametry

nAllocLength
Početznakůch

nCharSize
Velikost (v bajtech) typu znaku používaného správcem řetězců.

Návratová hodnota

Vrátí ukazatel na nově přidělený blok paměti.

Poznámka:

Nepřidávejte selhání přidělení vyvoláním výjimky. Místo toho by mělo být neúspěšné přidělení signalizovat vrácením hodnoty NULL.

Poznámky

Volání IAtlStringMgr::Free nebo IAtlStringMgr::ReAllocate uvolnit paměť přidělenou touto metodou.

Poznámka:

Příklady použití najdete v tématu Správa paměti a CStringT.

IAtlStringMgr::Clone

Vrátí ukazatel na nového správce řetězců pro použití s jinou instancí CSimpleStringT.

IAtlStringMgr* Clone() throw();

Návratová hodnota

Vrátí kopii objektu IAtlStringMgr .

Poznámky

Běžně se volá podle architektury, když je pro nový řetězec potřeba správce řetězců. Ve většině případů this se vrátí ukazatel.

Pokud však správce paměti nepodporuje použití více instancí CSimpleStringT, je třeba vrátit ukazatel na správce řetězců s možností sharable.

Poznámka:

Příklady použití najdete v tématu Správa paměti a CStringT.

IAtlStringMgr::Free

Uvolní řetězcovou datovou strukturu.

void Free(CStringData* pData) throw();

Parametry

pData
Ukazatel na blok paměti, který se má uvolnit.

Poznámky

Uvolní zadaný blok paměti dříve přidělený přidělením nebo přidělením.

Poznámka:

Příklady použití najdete v tématu Správa paměti a CStringT.

IAtlStringMgr::GetNilString

Vrátí ukazatel na řetězcovou datovou strukturu prázdného řetězce.

CStringData* GetNilString() throw();

Návratová hodnota

Ukazatel na CStringData objekt použitý k reprezentaci prázdného řetězce.

Poznámky

Voláním této funkce vrátíte reprezentaci prázdného řetězce.

Poznámka:

Při implementaci vlastního správce řetězců nesmí tato funkce nikdy selhat. Můžete to zajistit vložením instance CNilStringData do třídy správce řetězců a vrácením ukazatele na tuto instanci.

Poznámka:

Příklady použití najdete v tématu Správa paměti a CStringT.

IAtlStringMgr::Reallocate

Relokuje řetězcovou datovou strukturu.

CStringData* Reallocate(
    CStringData* pData,
    int nAllocLength,
    int nCharSize) throw();

Parametry

pData
Ukazatel na paměť, kterou dříve přidělil tento správce paměti.

nAllocLength
Početznakůch

nCharSize
Velikost (v bajtech) typu znaku používaného správcem řetězců.

Návratová hodnota

Vrátí ukazatel na začátek nově přiděleného bloku paměti.

Poznámky

Voláním této funkce změníte velikost existujícího bloku paměti určeného pData.

Volání IAtlStringMgr::Free uvolnit paměť přidělenou touto metodou.

Poznámka:

Příklady použití najdete v tématu Správa paměti a CStringT.

Viz také

Graf hierarchie
Sdílené třídy ATL/MFC