IAtlStringMgr, klasa
Ta klasa reprezentuje interfejs CStringT
menedżera pamięci.
Składnia
__interface IAtlStringMgr
Elementy członkowskie
Metody
Nazwa/nazwisko | opis |
---|---|
Przydzielić | Wywołaj tę metodę, aby przydzielić nową strukturę danych ciągów. |
Klonowanie | Wywołaj tę metodę, aby zwrócić wskaźnik do nowego menedżera ciągów do użycia z innym wystąpieniem CSimpleStringT klasy . |
Bezpłatna | Wywołaj tę metodę, aby zwolnić strukturę danych ciągu. |
GetNilString | Zwraca wskaźnik do obiektu używanego CStringData przez puste obiekty ciągów. |
Przydziel przydział rzeczywisty | Wywołaj tę metodę, aby ponownie przydzielić strukturę danych ciągu. |
Uwagi
Ten interfejs zarządza pamięcią używaną przez klasy ciągów niezależnych od MFC; takich jak CSimpleStringT, CStringT i CFixedStringT.
Tej klasy można również użyć do zaimplementowania niestandardowego menedżera pamięci dla niestandardowej klasy ciągów. Aby uzyskać więcej informacji, zobacz Zarządzanie pamięcią i CStringT.
Wymagania
Nagłówek: atlsimpstr.h
IAtlStringMgr::Przydziel
Przydziela nową strukturę danych ciągów.
CStringData* Allocate(int nAllocLength,int nCharSize) throw();
Parametry
nAllocLength
Liczba znaków w nowym bloku pamięci.
nCharSize
Rozmiar (w bajtach) typu znaków używany przez menedżera ciągów.
Wartość zwracana
Zwraca wskaźnik do nowo przydzielonego bloku pamięci.
Uwaga
Nie sygnalizuj nieudanej alokacji, zgłaszając wyjątek. Zamiast tego należy zasygnalizować niepowodzenie alokacji, zwracając wartość NULL.
Uwagi
Wywołaj metodę IAtlStringMgr::Free lub IAtlStringMgr::ReAllocate , aby zwolnić pamięć przydzieloną przez tę metodę.
Uwaga
Aby zapoznać się z przykładami użycia, zobacz Zarządzanie pamięcią i CStringT.
IAtlStringMgr::Clone
Zwraca wskaźnik do nowego menedżera ciągów do użycia z innym wystąpieniem CSimpleStringT
klasy .
IAtlStringMgr* Clone() throw();
Wartość zwracana
Zwraca kopię IAtlStringMgr
obiektu.
Uwagi
Często wywoływane przez platformę, gdy menedżer ciągów jest wymagany dla nowego ciągu. W większości przypadków this
wskaźnik jest zwracany.
Jeśli jednak menedżer pamięci nie obsługuje użycia przez wiele wystąpień programu , powinien zostać zwrócony wskaźnik menedżera ciągów CSimpleStringT
do udostępniania.
Uwaga
Aby zapoznać się z przykładami użycia, zobacz Zarządzanie pamięcią i CStringT.
IAtlStringMgr::Free
Zwalnia strukturę danych ciągu.
void Free(CStringData* pData) throw();
Parametry
pData
Wskaźnik do bloku pamięci, który ma zostać zwolniony.
Uwagi
Zwalnia określony blok pamięci przydzielony wcześniej przez przydzielenie lub przydział rzeczywisty.
Uwaga
Aby zapoznać się z przykładami użycia, zobacz Zarządzanie pamięcią i CStringT.
IAtlStringMgr::GetNilString
Zwraca wskaźnik do struktury danych ciągu dla pustego ciągu.
CStringData* GetNilString() throw();
Wartość zwracana
Wskaźnik do obiektu użytego CStringData
do reprezentowania pustego ciągu.
Uwagi
Wywołaj tę funkcję, aby zwrócić reprezentację pustego ciągu.
Uwaga
Podczas implementowania niestandardowego menedżera ciągów ta funkcja nigdy nie może zakończyć się niepowodzeniem. Można to zapewnić, osadzając wystąpienie klasy menedżera ciągów CNilStringData
i zwracając wskaźnik do tego wystąpienia.
Uwaga
Aby zapoznać się z przykładami użycia, zobacz Zarządzanie pamięcią i CStringT.
IAtlStringMgr::Reallocate
Przydzieli strukturę danych ciągu.
CStringData* Reallocate(
CStringData* pData,
int nAllocLength,
int nCharSize) throw();
Parametry
pData
Wskaźnik do pamięci wcześniej przydzielonej przez tego menedżera pamięci.
nAllocLength
Liczba znaków w nowym bloku pamięci.
nCharSize
Rozmiar (w bajtach) typu znaków używany przez menedżera ciągów.
Wartość zwracana
Zwraca wskaźnik na początek nowo przydzielonego bloku pamięci.
Uwagi
Wywołaj tę funkcję, aby zmienić rozmiar istniejącego bloku pamięci określonego przez wartość pData.
Wywołaj metodę IAtlStringMgr::Free , aby zwolnić pamięć przydzieloną przez tę metodę.
Uwaga
Aby zapoznać się z przykładami użycia, zobacz Zarządzanie pamięcią i CStringT.