[英]How can I check if a MFC CString is null?
CString
對象從不為NULL
。 與char*
或wchar*
(可以為NULL
,作為指針的CString
對象的內部緩沖區始終指向數據。 對於給定的CString
對象,只能使用CString::IsEmpty()
區分它是否為空。
出於相同的原因, LPCTSTR
運算符從不返回NULL
。
由於CString
類模板1)的內部布局,因此存儲的指針永遠不能為NULL
。
CString
類模板具有一個類成員: m_pszData
。 該成員不僅包含字符串數據,還包含其他信息(例如字符串長度,引用計數,緩沖區容量等;請參見CStringData )。 此附加信息存儲在存儲的指針的左側。 這兩個部分(字符串數據和字符緩沖區)都必須分配在一個內存塊中,因為只有一個指針可以引用這兩個部分。 由於字符串數據始終需要存在,因此m_pszData
永遠不能為NULL
。
CString
是用於特定CStringT
模板實例化的typedef。
CStringT
本身是從CSimpleStringT
類模板派生的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.