Udostępnij za pośrednictwem


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)

Członkowie

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:

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.

Zobacz też

Wykres hierarchii
Klasy udostępnione ATL/MFC