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.