判断类或结构体是否初始化
C#中很简单,直接判断是否等于null即可
C++中不行.有没有好的方法呢?
//例如
struct AAA
{
unsigned int id;
CString strName;
}
//测试方法
AAA funcA()
{
AAA model;
if(....)
{
model.id = 1;model.strName="sdf";
}
return model;
}
那么,有什么好的方法判断model是否赋值了?
只能通过添加默认model的默认构造函数来解决么?
[解决办法]
指针的话可以通过初始化NULL,然后判断是否为NULL来确定,对象的话没啥好办法吧
struct AAA
{
unsigned int id;
string strName;
AAA()
{
id = 0;
strName = "";
}
};
int _tmain(int argc, _TCHAR* argv[])
{
AAA model;
if (model.id == 0 && model.strName == "")
{
printf("未赋值\n");
}
else
{
printf("已赋值\n");
}
return 0;
}