CFixedStringT 類別
這個類別代表具有固定字元緩衝區的字串物件。
語法
template<class StringType, int t_nChars>
class CFixedStringT : private CFixedStringMgr, public StringType
參數
StringType
做為固定字串物件的基類,而且可以是任何 CStringT
型別。 某些範例包括 CString
、 CStringA
與 CStringW
。
t_nChars
儲存在緩衝區中的字元數。
成員
公用建構函式
名稱 | 描述 |
---|---|
CFixedStringT::CFixedStringT | 字串物件的建構函式。 |
公用運算子
名稱 | 描述 |
---|---|
CFixedStringT::operator = | 將新的值指派給 CFixedStringT 物件。 |
備註
這個類別是以 為基礎的 CStringT
自定義字串類別範例。 雖然類似,但兩個類別在實作中不同。 和 CStringT
之間的CFixedStringT
主要差異如下:
初始字元緩衝區會配置為 物件的一部分,且大小 t_nChars。 這可讓
CFixedString
物件佔用連續記憶體區塊以達到效能目的。 不過,如果對象的內容CFixedStringT
成長超過 t_nChars,則會動態配置緩衝區。物件的字元緩衝區
CFixedStringT
一律是相同的長度( t_nChars)。 對象緩衝區CStringT
大小沒有限制。的記憶體管理員
CFixedStringT
是自定義的,因此不允許在兩個或多個CFixedStringT
對象之間共用 CStringData 物件。CStringT
對象沒有此限制。
如需一般字串物件的自定義 CFixedStringT
和記憶體管理的詳細資訊,請參閱 記憶體管理和 CStringT。
繼承階層架構
IAtlStringMgr
StringType
CFixedStringMgr
CFixedStringT
需求
標頭: cstringt.h
CFixedStringT::CFixedStringT
建構 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);
參數
pszSrc
要複製到這個 CFixedStringT
物件的 Null 終止字串。
strSrc
要複製到這個CFixedStringT
物件的現有CFixedStringT
物件。
pStringMgr
對象的記憶體管理員 CFixedStringT
指標。 如需 和記憶體管理的詳細資訊IAtlStringMgr
,請參閱記憶體管理和 CStringT。CFixedStringT
備註
由於建構函式會將輸入資料複製到新的配置記憶體中,因此您應該知道記憶體例外狀況可能會造成。 其中有些建構函式會做為轉換函式。
CFixedStringT::operator =
使用新數據重新初始化現有的 CFixedStringT
物件。
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);
參數
pszSrc
要複製到這個 CFixedStringT
物件的 Null 終止字串。
strSrc
要複製到這個 CFixedStringT
物件的現有 CFixedStringT
。
備註
您應該注意,每當您使用指派運算符時,可能會發生記憶體例外狀況,因為通常會配置新的記憶體來保存產生的 CFixedStringT
物件。