结构中的默认值(char)

时间:2013-12-30 11:37:08

标签: c++ struct char assign

我想请求帮助。 当我得到这个:

struct MyStruct
{
    unsigned char myBytes[5];
    MyStruct()
    {
        myBytes[0] = 0x89;
        myBytes[1] =  0x50;
        myBytes[2] =  0x4E;
        myBytes[3] =  0x47;
        myBytes[4] =  0x0D;
    }        
};

如何让它更容易? 喜欢 myBytes = {0x89,0x50,0x4E,0x47,0x0D};

1 个答案:

答案 0 :(得分:5)

在C ++ 11中,您可以执行以下任一操作:

struct MyStruct
{
    unsigned char myBytes[5] = {0x89, 0x50, 0x4E, 0x47, 0x0D};     
};

// or...

struct MyStruct
{
    unsigned char myBytes[5];
    MyStruct() : myBytes{0x89, 0x50, 0x4E, 0x47, 0x0D}
    { }        
};

否则,你已经拥有了最好的方法。