Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 CStringTtipo basato su . Alcuni esempi includono CString, CStringAe 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
CFixedStringdi occupare un blocco di memoria contiguo a scopo di prestazioni. Tuttavia, se il contenuto di unCFixedStringToggetto aumenta oltre t_nChars, il buffer viene allocato in modo dinamico.Il buffer dei caratteri per un
CFixedStringToggetto è sempre la stessa lunghezza ( t_nChars). Non esiste alcuna limitazione per le dimensioni del buffer perCStringTgli oggetti.Il gestore della memoria per
CFixedStringTè personalizzato in modo che la condivisione di un oggetto CStringData tra due o piùCFixedStringToggetti non sia consentita.CStringTgli 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