CStrBufT, klasa
Ta klasa zapewnia automatyczne oczyszczanie zasobów dla GetBuffer
istniejącego CStringT
obiektu i ReleaseBuffer
wywołania go.
Składnia
template<typename TCharType>
class CStrBufT
Parametry
TCharType
Typ CStrBufT
znaku klasy. Może być jednym z następujących elementów:
char
(w przypadku ciągów znaków ANSI)wchar_t
(w przypadku ciągów znaków Unicode)TCHAR
(w przypadku ciągów znaków ANSI i Unicode)
Elementy członkowskie
Definicje typów publicznych
Nazwa/nazwisko | opis |
---|---|
PCXSTR |
Wskaźnik do ciągu stałego. |
PXSTR |
Wskaźnik do ciągu. |
StringType |
Typ ciągu, którego bufor ma być manipulowany przez specjalizacje tego szablonu klasy. |
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CStrBufT::CStrBufT | Konstruktor obiektu buforu ciągu. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CStrBufT::SetLength | Ustawia długość buforu znaków skojarzonego obiektu ciągu. |
Operatory publiczne
Nazwa/nazwisko | opis |
---|---|
CStrBufT::operator PCXSTR | const Pobiera wskaźnik do buforu znaków skojarzonego obiektu ciągu. |
CStrBufT::operator PXSTR | Pobiera wskaźnik do buforu znaków skojarzonego obiektu ciągu. |
Stałe publiczne
Nazwa/nazwisko | opis |
---|---|
CStrBufT::AUTO_LENGTH | Automatycznie określ nową długość ciągu w wydaniu. |
CStrBufT::SET_LENGTH | Ustawianie długości obiektu ciągu w czasie getBuffer |
Uwagi
Ta klasa jest używana jako klasa otoki do zastępowania wywołań metod GetBuffer i ReleaseBuffer lub GetBufferSetLength i ReleaseBuffer
.
Przede wszystkim zaprojektowana jako klasa pomocnika zapewnia CStrBufT
wygodny sposób pracy dewelopera z buforem znaków obiektu ciągu bez martwienia się o to, jak lub kiedy wywołać metodę ReleaseBuffer
. Jest to możliwe, ponieważ obiekt otoki wykracza poza zakres naturalnie w przypadku wyjątku lub wielu ścieżek kodu zakończenia; powoduje, że jego destruktor zwolni zasób ciągu.
Wymagania
Nagłówek: atlsimpstr.h
CStrBufT::AUTO_LENGTH
Automatycznie określ nową długość ciągu w wydaniu.
static const DWORD AUTO_LENGTH = 0x01;
Uwagi
Automatycznie określ nową długość ciągu w wydaniu. Ciąg musi być zakończony wartością null.
CStrBufT::CStrBufT
Tworzy obiekt buforu.
CStrBufT(StringType& str, int nMinLength, DWORD dwFlags = AUTO_LENGTH) throw(...);
explicit CStrBufT(StringType& str) throw(...);
Parametry
Str
Obiekt ciągu skojarzony z buforem. Zazwyczaj deweloper używa wstępnie zdefiniowanych CStrBuf
definicji typów (wariant TCHAR), CStrBufA
(char
wariant) i CStrBufW
(wchar_t
wariant).
nMinLength
Minimalna długość buforu znaków.
dwFlags
Określa, czy długość ciągu jest określana automatycznie. Może być jednym z następujących elementów:
AUTO_LENGTH długość ciągu jest określana automatycznie, gdy jest wywoływana funkcja CSimpleStringT::Release . Ciąg musi być zakończony wartością null. Wartość domyślna.
SET_LENGTH długość ciągu jest ustawiana, gdy jest wywoływana funkcja CSimpleStringT::GetBuffer .
Uwagi
Tworzy bufor ciągu dla skojarzonego obiektu ciągu. Podczas budowy wywoływana jest funkcja CSimpleStringT::GetBuffer lub CSimpleStringT::GetBufferSetLength .
Należy pamiętać, że konstruktor kopiujący ma wartość private
.
CStrBufT::operator PCXSTR
Bezpośrednio uzyskuje dostęp do znaków przechowywanych w skojarzonym obiekcie ciągu jako ciągu w stylu C.
operator PCXSTR() const throw();
Wartość zwracana
Wskaźnik znaku do danych ciągu.
Uwagi
Wywołaj tę funkcję, aby zwrócić wskaźnik do bufora znaków obiektu ciągu. Nie można zmienić zawartości obiektu ciągu za pomocą tego wskaźnika.
CStrBufT::operator PXSTR
Bezpośrednio uzyskuje dostęp do znaków przechowywanych w skojarzonym obiekcie ciągu jako ciągu w stylu C.
operator PXSTR() throw();
Wartość zwracana
Wskaźnik znaku do danych ciągu.
Uwagi
Wywołaj tę funkcję, aby zwrócić wskaźnik do bufora znaków obiektu ciągu. Deweloper może zmienić zawartość obiektu ciągu za pomocą tego wskaźnika.
CStrBufT::P CXSTR
Wskaźnik do ciągu stałego.
typedef CSimpleStringT<TCharType>::PCXSTR PCXSTR;
CStrBufT::P XSTR
Wskaźnik do ciągu.
typedef CSimpleStringT<TCharType>::PXSTR PXSTR;
CStrBufT::SET_LENGTH
Ustaw długość obiektu ciągu w GetBuffer
czasie.
static const DWORD SET_LENGTH = 0x02;
Uwagi
Ustaw długość obiektu ciągu w czasie getBuffer.
Określa, czy obiekty CSimpleStringT::GetBuffer i CSimpleStringT::GetBufferSetLength są wywoływane podczas konstruowania obiektu buforu ciągu.
CStrBufT::SetLength
Ustawia długość buforu znaków.
void SetLength(int nLength);
Parametry
nLength
Nowa długość buforu znaków obiektu ciągu.
Uwaga
Musi być mniejsza lub równa minimalnej długości buforu określonej w konstruktorze CStrBufT
.
Uwagi
Wywołaj tę funkcję, aby ustawić długość ciągu reprezentowanego przez obiekt buforu.
CStrBufT::StringType
Typ ciągu, którego bufor ma być manipulowany przez specjalizacje tego szablonu klasy.
typedef CSimpleStringT<TCharType> StringType;
Uwagi
TCharType
to typ znaku używany do specjalizacji szablonu klasy.