【问题标题】:Default value in structure (char)结构中的默认值 (char)
【发布时间】:2014-01-17 07:00:38
【问题描述】:

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

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};

【问题讨论】:

    标签: c++ struct char assign


    【解决方案1】:

    在 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}
        { }        
    };
    

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

    【讨论】:

    • 没有一个对我有用,我正在使用 2012 年的视觉工作室和空的 c++ 项目,我以前从未听说过 c++11/c++03,我如何使用 c+ +11 或 c++03 ?
    • Neither is supported in VS 2012。但是,VS 2013 对两者都有支持。 GCC 和 clang 都是 C++11 功能完备的。
    猜你喜欢
    • 1970-01-01
    • 2015-02-20
    • 2010-10-19
    • 1970-01-01
    • 2013-02-24
    • 2016-09-19
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    相关资源
    最近更新 更多