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 objetoCFixedStringT
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 objetosCStringT
.O gerenciador de memória de
CFixedStringT
é personalizado. Sendo assim, o compartilhamento de um objeto CStringData entre dois ou mais objetosCFixedStringT
não é permitido. Os objetosCStringT
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