Classe CFixedStringT
Questa classe rappresenta un oggetto stringa con un buffer di caratteri fisso.
Sintassi
template<class StringType, int t_nChars>
class CFixedStringT : private CFixedStringMgr, public StringType
Parametri
StringType
Usato come classe base per l'oggetto stringa fisso e può essere qualsiasi CStringT
tipo basato su . Alcuni esempi includono CString
, CStringA
e CStringW
.
t_nChars
Numero di caratteri archiviati nel buffer.
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CFixedStringT::CFixedStringT | Costruttore per l'oggetto stringa. |
Operatori pubblici
Nome | Descrizione |
---|---|
CFixedStringT::operator = | Assegna un nuovo valore a un CFixedStringT oggetto . |
Osservazioni:
Questa classe è un esempio di una classe stringa personalizzata basata su CStringT
. Anche se simili, le due classi differiscono nell'implementazione. Le principali differenze tra CFixedStringT
e CStringT
sono:
Il buffer di caratteri iniziale viene allocato come parte dell'oggetto e ha dimensioni t_nChars. Ciò consente all'oggetto
CFixedString
di occupare un blocco di memoria contiguo a scopo di prestazioni. Tuttavia, se il contenuto di unCFixedStringT
oggetto aumenta oltre t_nChars, il buffer viene allocato in modo dinamico.Il buffer dei caratteri per un
CFixedStringT
oggetto è sempre la stessa lunghezza ( t_nChars). Non esiste alcuna limitazione per le dimensioni del buffer perCStringT
gli oggetti.Il gestore della memoria per
CFixedStringT
è personalizzato in modo che la condivisione di un oggetto CStringData tra due o piùCFixedStringT
oggetti non sia consentita.CStringT
gli oggetti non presentano questa limitazione.
Per altre informazioni sulla personalizzazione di e sulla gestione della CFixedStringT
memoria per gli oggetti stringa in generale, vedere Gestione della memoria e CStringT.
Gerarchia di ereditarietà
IAtlStringMgr
StringType
CFixedStringMgr
CFixedStringT
Requisiti
Intestazione: cstringt.h
CFixedStringT::CFixedStringT
Costruisce un oggetto 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);
Parametri
pszSrc
Stringa con terminazione Null da copiare in questo CFixedStringT
oggetto.
strSrc
Oggetto esistente CFixedStringT
da copiare in questo CFixedStringT
oggetto.
pStringMgr
Puntatore al gestore della memoria dell'oggetto CFixedStringT
. Per altre informazioni sulla IAtlStringMgr
gestione della memoria per CFixedStringT
, vedere Gestione della memoria e CStringT.
Osservazioni:
Poiché i costruttori copiano i dati di input in una nuova risorsa di archiviazione allocata, è necessario tenere presente che possono verificarsi eccezioni di memoria. Alcuni di questi costruttori fungono da funzioni di conversione.
CFixedStringT::operator =
Reinizializza un oggetto esistente CFixedStringT
con nuovi dati.
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);
Parametri
pszSrc
Stringa con terminazione Null da copiare in questo CFixedStringT
oggetto.
strSrc
Oggetto esistente CFixedStringT
da copiare in questo CFixedStringT
oggetto.
Osservazioni:
È necessario tenere presente che le eccezioni di memoria possono verificarsi ogni volta che si usa l'operatore di assegnazione perché viene spesso allocata una nuova risorsa di archiviazione per contenere l'oggetto risultante CFixedStringT
.
Vedi anche
Classe CStringT
Grafico della gerarchia
Classi condivise ATL/MFC