Программы на C++. Форум разработчиков
Anonymous
Понимание макроса отсрочки
Сообщение
Anonymous » 16 янв 2026, 11:19
Я пытаюсь понять иерархию отложенных макросов. Имеет ли это смысл?
Код: Выделить всё
// 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]
1768551546
Anonymous
Я пытаюсь понять иерархию отложенных макросов. Имеет ли это смысл? [code]// 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]