我已经定义了这个结构:
typedef struct WHEATHER_STRUCT
{
unsigned char packetID[1];
unsigned char packetSize[2];
unsigned char subPacketID[1];
unsigned char subPacketOffset[2];
...
} wheather_struct;
如何通过属性名称初始化此结构(使用构造函数或new)访问?例如:
wheather_struct.packetID = 1;
最后
我尝试过此解决方案,它对我有用,但是您认为这是一个不错的选择吗?
WHEATHER_STRUCT * wheather_struct = new WHEATHER_STRUCT();
*weather_struct->packetID = '1';
对于float属性:
wheather_struct->floatAttribute= 111.111
最佳答案
在C ++中,您可以使用new
进行分配和初始化:
wheather_struct *p = new wheather_struct();
注意最后的括号-这是value initialization-用0填充内置类型的成员。
接着:
p->packetID[0] = 1;
关于c++ - (结构*)使用属性值名称进行初始化吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52521261/