解压可变参数宏的任何技巧?例如,
#define READ(...)
意思是一一阅读论据
READ(a, b, c)
将被解包到read(a); read(b); read(c)
解压可变参数宏的任何技巧?例如,
#define READ(...)
意思是一一阅读论据
READ(a, b, c)
将被解包到read(a); read(b); read(c)
您可以使用此处描述的“配对滑动参数”宏技术来实现它: https ://codecraft.co/2014/11/25/variadic-macros-tricks
#define _EXPAND(args) args
#define READ1(a) read(a);
#define READ2(a,b) read(a); read(b);
#define READ3(a,b,c) read(a); read(b); read(c);
#define GETREAD(_1,_2,_3, READN,...) READN
#define READ(...) _EXPAND(GETREAD(__VA_ARGS__, READ3, READ2, READ1)(__VA_ARGS__))
_EXPAND(args)
仅在 MSVC 中需要。