Top

Лучшие variadic-macros вопросы ИТ разработчиков

  • 5 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Использование макрокоманд или шаблонов для реализации набора функций

У меня есть набор методов, используемых для создания и инициализации набора объектов. Все они выглядят примерно одинаково, за исключением количества аргумент...

Задан 14 Aug 2013, 14:34 от user2683028
  • 28 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Улучшенный макрос LOG () с использованием шаблонного метапрограммирования

Типичное решение для ведения журнала на основе макросов LOG () может выглядеть примерно так:

Задан 16 Oct 2013, 21:40 от Marc Eaddy
  • 40 голосов
  • 5 ответов
  • 0 просмотров
5 ответов

Могут ли макросы быть перегружены количеством аргументов?

Какэто [https://stackoverflow.com/q/9183993/153285]работай? Как реализовать вариационный макрос C99 / C ++ 11 для расширения до разных вещей только на основании того, сколько аргументов ему дано?

Задан 22 May 2013, 03:47 от Potatoswatter
  • 4 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Группа вариационных макросов

Я хотел бы иметь группу переменного числа аргументов, передаваемых в макрос. У меня есть следующие макросы, которые неверны:

Задан 27 Oct 2014, 06:43 от yuefengz
  • 5 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Использование макрокоманд или шаблонов для реализации набора функций

У меня есть набор методов, используемых для создания и инициализации набора объектов. Все они выглядят примерно одинаково, за исключением количества аргументов, передаваемыхВ этомфункция: ObjectType* CreateObjectType(Arg1 a1, Arg2 arg2, ... ArgN ...

Задан 14 Aug 2013, 16:34 от user2683028
  • 33 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

Идентификатор _ _ VA_ARGS _ _ должен присутствовать только в списке замены функционально-подобного макроса, который использует многоточие в параметрах.

тладочных сборок я обычно использую Clang, так как он лучше форматирует предупреждения и ошибки и немного облегчает их отслеживание и исправление. Но недавно после добавления макроса с переменными аргументами Кланг сказал мне следующее (из ...

Задан 24 Jan 2011, 20:12 от user350814
  • 3 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Препроцессор C для разделения «int x» на int & x

Мне нужно иметь возможность получить следующее: #define MY_MACRO(PARAM1,PARAM2) \ MY_OTHER_MACRO(TYPENAME_OF(PARAM1),PARAMNAME_OF(PARAM1));\ MY_OTHER_MACRO(TYPENAME_OF(PARAM2),PARAMNAME_OF(PARAM2));\вызывать MY_MACRO(int x,char ...

Задан 21 Nov 2013, 12:41 от unsynchronized
  • 28 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Улучшенный макрос LOG () с использованием шаблонного метапрограммирования

Типичное решение для ведения журнала на основе макросов LOG () может выглядеть примерно так: #define LOG(msg) \ std::cout << __FILE__ << "(" << __LINE__ << "): " << msg << std::endlЭто позволяет программистам создавать сообщения с богатыми ...

Задан 16 Oct 2013, 23:40 от Marc Eaddy
  • 41 голос
  • 3 ответа
  • 0 просмотров
3 ответа

 суффикс к вашему исходному файлу, чтобы получить эту поддержку. MSVC долгое время не обновлял свой C-интерфейс.

отрим этот код: #define F(x, ...) X = x and VA_ARGS = __VA_ARGS__ #define G(...) F(__VA_ARGS__) F(1, 2, 3) G(1, 2, 3)Ожидаемый результатX = 1 and VA_ARGS = 2, 3 для обоих макросов, и это то, что я получаю с GCC, однако, MSVC расширяет это ...

Задан 27 Feb 2011, 16:59 от uj2
  • 4 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

(Я попытаюсь вернуться к этому, чтобы очистить его; я думаю, что там определенно есть некоторые ненужные макросы. У меня не было возможности взглянуть на более широкую проблему, которую вы описываете, поэтому я не уверен, решит ли это это тоже. Может быть, есть и более простой способ решения этой проблемы ... Я не особенно знаком с вариадными макросами. Это чистая предварительная обработка в mcpp.)

аюсь сгенерировать объявление функции с помощью макроса /* goal: generate int f(int a, float b) */ template<typename P> struct ptype; template<typename P> struct ptype<void(P)> { typedef P type; }; #define NAMEe #define COMMAe #define COMMA , ...

Задан 18 Mar 2011, 16:50 от Johannes Schaub - litb
  • 11 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

 работает только с расширением GNU. Вы знаете, как решить эту проблему для C99?

трюк для создания вариационного макросаFOO(a1, a2, a3,..., an) так что он расширяется доFOOn(a1, a2, a3,..., an) для значенийn в каком заранее выбранном ограниченном диапазоне вы выбираете? Это,FOO(a) следует расширить доFOO1(a), FOO(a, b, c) ...

Задан 19 Mar 2011, 22:44 от R..
  • 132 голосов
  • 10 ответов
  • 0 просмотров
10 ответов

И этот вопрос включал обоснование того, что FOO не использовался целую вечность.

твуетобщеизвестный [https://stackoverflow.com/questions/4054085/gcc-appending-to-va-args] проблема [http://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html]с пустыми аргументами для variadic макросов в C99. пример: #define FOO(...) ...

Задан 07 Apr 2011, 23:39 от jwd
  • 21 голос
  • 2 ответа
  • 0 просмотров
2 ответа

Расширение макроса MSVC ++

Итак, у меня есть макрос, который прекрасно работает в GCC, но не в Microsoft C ++ Compiler. Я надеюсь, что кто-то может знать об обходном пути, или, возможно, может объяснить мне, почему он так себя ведет. Я уверен, что этот макрос не совсем ...

Задан 07 Feb 2012, 21:11 от Robert Kelly
  • 3 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Макрос FOR_EACH препроцессора, совместимый с MSVC ++ 10

Я видел несколько вопросов, спрашивающих о вариацииFOR_EACH макро. Однако, к сожалению, предоставленные ответы несовместимы с VC ++ 10, так как он расширяет __VA_ARGS __ в качестве одного аргумента при передаче другому макросу. Пожалуйста, ...

Задан 06 Feb 2013, 15:36 от Dylan