假若有以下结构体:
typedef struct Content_Item
{
unsigned short x; //文字项x坐标
unsigned short y; //文字项y坐标
char szFont[2]; //字体样式
unsigned short nSize; //字体大小
char szColor[13]; //字颜色
unsigned short nLetterspace;//字间距
string szText; //设备内容50个汉字
}STR_ContentItem;
我们在使用时每次都要memset,而且因为结构内包含不同类型的数据,我们需要分别初始化。费时费力,还不美观,那么有这种方式可以初始化,类似函数的构造函数,改造如下:
typedef struct Content_Item
{
unsigned short x; //文字项x坐标
unsigned short y; //文字项y坐标
char szFont[2]; //字体样式
unsigned short nSize; //字体大小
char szColor[13]; //字颜色
unsigned short nLetterspace;//字间距
string szText; //设备内容50个汉字
Content_Item(): x(0), y(0),
nSize(0), nLetterspace(0)
{
memset(szFont, '\0', sizeof(szFont));
memset(szColor, '\0', sizeof(szColor));
}
}STR_ContentItem;
这样每次使用时直接创建结构体变量即可,不用再额外初始化