Код: Выделить всё
// Online C++ compiler to run C++ program online
#include
#define EMPTY()
#define EVAL_1(...) __VA_ARGS__
#define EVAL_2(...) EVAL_1(EVAL_1(__VA_ARGS__))
#define DEFER(...) __VA_ARGS__ EMPTY()
#define DEFER2(...) __VA_ARGS__ DEFER(EMPTY) ()
#define DEFER3(...) __VA_ARGS__ DEFER2(EMPTY) ()
#define DEFER4(...) __VA_ARGS__ DEFER3(EMPTY) ()
#define A(x) x
int main() {
// The parameter is evaluated during expansion.
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/75862841/understanding-deferring-macro[/url]