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