Partilhar via


Classe CFixedStringT

Essa classe representa um objeto de cadeia de caracteres com um buffer de caracteres fixo.

Sintaxe

template<class StringType, int t_nChars>
class CFixedStringT : private CFixedStringMgr, public StringType

Parâmetros

Tipo de cadeia de caracteres
Usada como a classe base do objeto de cadeia de caracteres fixa e pode ser qualquer tipo baseado em CStringT. Alguns exemplos incluem CString, CStringA e CStringW.

t_nChars
O número de caracteres armazenados no buffer.

Membros

Construtores públicos

Nome Descrição
CFixedStringT::CFixedStringT O construtor do objeto de cadeia de caracteres.

Operadores públicos

Nome Descrição
CFixedStringT::operator = Atribui um novo valor a um objeto CFixedStringT.

Comentários

Essa classe é um exemplo de uma classe de cadeia de caracteres personalizada com base em CStringT. Embora semelhantes, as duas classes diferem na implementação. As principais diferenças entre CFixedStringT e CStringT são:

  • O buffer de caractere inicial é alocado como parte do objeto e tem tamanho t_nChars. Isso permite que o objeto CFixedString ocupe uma parte da memória contígua para fins de desempenho. No entanto, se o conteúdo de um objeto CFixedStringT ultrapassar de t_nChars, o buffer será alocado dinamicamente.

  • O buffer de caracteres de um objeto CFixedStringT tem sempre o mesmo comprimento ( t_nChars). Não há limitação no tamanho do buffer dos objetos CStringT.

  • O gerenciador de memória de CFixedStringT é personalizado. Sendo assim, o compartilhamento de um objeto CStringData entre dois ou mais objetos CFixedStringT não é permitido. Os objetos CStringT não têm essa limitação.

Para obter mais informações sobre a personalização de CFixedStringT e o gerenciamento memória dos objetos de cadeia de caracteres em geral, confira Gerenciamento de memória e CStringT.

Hierarquia de herança

IAtlStringMgr

StringType

CFixedStringMgr

CFixedStringT

Requisitos

Cabeçalho: cstringt.h

CFixedStringT::CFixedStringT

Constrói um objeto CFixedStringT.

CFixedStringT() throw();
explicit CFixedStringT(IAtlStringMgr* pStringMgr) throw();
CFixedStringT(const CFixedStringT<StringType, t_nChars>& strSrc);
CFixedStringT(const StringType& strSrc);
CFixedStringT(const StringType::XCHAR* pszSrc);
explicit CFixedStringT(const StringType::YCHAR* pszSrc);
explicit CFixedStringT(const unsigned char* pszSrc);

Parâmetros

pszSrc
Uma cadeia de caracteres terminada em nulo a ser copiada para nesse objeto CFixedStringT.

strSrc
Um objeto CFixedStringT existente a ser copiado nesse objeto CFixedStringT.

pStringMgr
Um ponteiro para o gerenciador de memória do objeto CFixedStringT. Para obter mais informações sobre IAtlStringMgr e gerenciamento de memória de CFixedStringT, confira Gerenciamento de memória e CStringT.

Comentários

Como os construtores copiam os dados de entrada em um novo armazenamento alocado, saiba que podem ocorrer exceções de memória. Alguns desses construtores atuam como funções de conversão.

CFixedStringT::operator =

Reinicializa um objeto CFixedStringT existente com novos dados.

CFixedStringT<StringType, t_nChars>& operator=(
    const CFixedStringT<StringType, t_nChars>& strSrc);
CFixedStringT<StringType, t_nChars>& operator=(const char* pszSrc);
CFixedStringT<StringType, t_nChars>& operator=(const wchar_t* pszSrc);
CFixedStringT<StringType, t_nChars>& operator=(const unsigned char* pszSrc);
CFixedStringT<StringType, t_nChars>& operator=(const StringType& strSrc);

Parâmetros

pszSrc
Uma cadeia de caracteres terminada em nulo a ser copiada para nesse objeto CFixedStringT.

strSrc
Um CFixedStringT existente a ser copiado nesse objeto CFixedStringT.

Comentários

Saiba que pode haver exceções de memória ao usar o operador de atribuição, pois o novo armazenamento é, geralmente, alocado para reter o objeto CFixedStringT resultante.

Confira também

Classe CStringT
Gráfico da hierarquia
Classes compartilhadas ATL/MFC