C++ 有没有解压可变宏的技巧?
有没有解压可变宏的技巧?比如说,C++ 有没有解压可变宏的技巧?,c++,variadic-macros,C++,Variadic Macros,有没有解压可变宏的技巧?比如说, #define READ(…)表示逐个读取参数 READ(a,b,c)将被解包为READ(a);改为(b);阅读(c)您可以使用“成对滑动参数”宏技术实现它,如下所述: \u EXPAND(args)仅在MSVC中需要。为什么首先要使用宏?为什么变量模板参数不可以很容易做到呢?同意。这对于可变模板来说是微不足道的。如果宏是绝对必要的,那么每个宏都有类似于BOOST\u PP\u SEQ\u的内容。它是定义函数或类的宏。 #define _EXPAND(args
#define READ(…)
表示逐个读取参数
READ(a,b,c)
将被解包为READ(a);改为(b);阅读(c)
您可以使用“成对滑动参数”宏技术实现它,如下所述:
\u EXPAND(args)
仅在MSVC中需要。为什么首先要使用宏?为什么变量模板参数不可以很容易做到呢?同意。这对于可变模板来说是微不足道的。如果宏是绝对必要的,那么每个宏都有类似于BOOST\u PP\u SEQ\u的内容。它是定义函数或类的宏。
#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__))