C++結構體的初始化問題


 

結構體中用到是CString的類型變量的時候,用memset初始化是錯誤的

原因:m_strTemp的地址被賦值為空指針了,並不是把m_strTemp內容賦值空了,所以后續使用就出錯了

如下:

struct Test
{
CString m_strTemp;
int m_nTemp;
bool m_bTemp;
Test()
{
memset(this,0,sizeof(Test));
}
};
Test TempStr;
TempStr.m_strTemp = _T("");

如果結構體中初始化想用字符串,建議用char[]數組,可以用memset初始化


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM