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
物件。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應