Articles of переменные переменные

Конкатенация жетонов в вариативных макросах

В C, можно ли объединить каждый из переменных аргументов в aa variadic macro? Пример: MY_MACRO(A, B, C) // will yield HDR_A, HDR_B, HDR_C MY_MACRO(X, Y) // will yield HDR_X, HDR_Y Обычный ## -оператор имеет особое значение для вариативных макросов (исключая запятую для пустого списка аргументов). И конкатенация при использовании с __VA_ARGS__ имеет место только с […]

Зацикливание значений макроса Варгара

Если я определяю макрос: #define foo(args…) ({/*do something*/}) Есть ли какой-то способ фактически прокрутить args а не передавать его другой функции? Что-то вроде #define foo(args…) \ { \ for (int i = 0; i < sizeof(args); ++i) { \ /*do something with args[i]*/ \ } \ }

Функция Variadic (va_arg) не работает с float, а printf делает? В чем разница?

У меня просто сложилась аналогичная ситуация, как в этом вопросе, с двух лет: Функция Variadic (va_arg) не работает с float? Говорят, что проблема заключается в том, чтобы продвигать float в два раза, когда мы называем такие вещи, как va_arg(arg, float) Мой вопрос находится в конце этого сообщения, но сначала давайте посмотрим на ответ @ Jack […]