1
我这个宏开始分组的写宏作为C++函数
#define BEGIN_PACKET_DEF(name, type) typedef struct name {\
int8_t header;\
static size_t size() { return sizeof(name); }\
name() { memset(this, 0, sizeof(name)); header = type; }
这结束包的
#define END_PACKET_DEF(name) } name;
,我想改变它作为一个C++函数。 正如名字一样是一个定义开始包定义 的BEGIN_PACKET_DEF
将每个数据包中添加自动的int8_t header;
用法示例:
BEGIN_PACKET_DEF(Name_struct,HEADER)
// some packet's data
END_PACKET_DEF(Name_packet)
我需要一些帮助来重写这些宏作为C++函数和做像宏一样的效果,我只是不喜欢使用宏。
一个提示可能是要求您的编译器在预处理后显示源文本 - 因为它包含扩展的宏... – Dilettant