Partilhar via


Classe CFixedStringT

Observação

A biblioteca Microsoft Foundation Classes (MFC) e a Active Template Library (ATL) continuam a ser suportadas. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta classe representa um objeto string com um buffer de caracteres fixo.

Sintaxe

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

Parâmetros

StringType
Usado como classe base para o objeto string fixo e pode ser de qualquer CStringTtipo baseado em . Alguns exemplos incluem CString, CStringA, e CStringW.

t_nChars
O número de caracteres armazenados no buffer.

Membros

Construtores Públicos

Nome Description
CFixedStringT::CFixedStringT O construtor para o objeto string.

Operadores Públicos

Nome Description
CFixedStringT::operator = Atribui um novo valor a um CFixedStringT objeto.

Observações

Esta classe é um exemplo de uma classe de strings personalizada baseada em CStringT. Embora semelhantes, as duas classes diferem na implementação. As principais diferenças entre CFixedStringT e CStringT são:

  • O buffer inicial de caracteres é alocado como parte do objeto e tem o tamanho t_nChars. Isto permite que o CFixedString objeto ocupe um bloco de memória contíguo para fins de desempenho. No entanto, se o conteúdo de um CFixedStringT objeto crescer para além de t_nChars, o buffer é alocado dinamicamente.

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

  • O gestor de memória para CFixedStringT é personalizado de modo a que a partilha de um objeto CStringData entre dois ou mais CFixedStringT objetos não seja permitida. CStringT Os objetos não têm essa limitação.

Para mais informações sobre a personalização e CFixedStringT gestão de memória para objetos de cadeia em geral, consulte Gestão de Memória e CStringT.

Hierarquia de herança

IAtlStringMgr

StringType

CFixedStringMgr

CFixedStringT

Requerimentos

Cabeçalho: cstringt.h

CFixedStringT::CFixedStringT

Constrói um CFixedStringT objeto.

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 terminada por nulo a ser copiada para este CFixedStringT objeto.

strSrc
Um objeto existente CFixedStringT a ser copiado para este CFixedStringT objeto.

pStringMgr
Um apontador para o gestor de memória do CFixedStringT objeto. Para mais informações sobre IAtlStringMgr e gestão de memória para CFixedStringT, veja Gestão de Memória e CStringT.

Observações

Como os construtores copiam os dados de entrada para um novo armazenamento alocado, deve estar ciente de que podem resultar exceções de memória. Alguns destes construtores atuam como funções de conversão.

CFixedStringT::operator =

Reinicializa um objeto existente CFixedStringT 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 terminada por nulo a ser copiada para este CFixedStringT objeto.

strSrc
Um existente CFixedStringT para ser copiado neste CFixedStringT objeto.

Observações

Deve estar ciente de que exceções de memória podem ocorrer sempre que utiliza o operador de atribuição porque é frequentemente atribuído novo armazenamento para armazenar o objeto resultante CFixedStringT .

Consulte também

Classe CStringT
Gráfico de Hierarquia
Classes compartilhadas ATL/MFC