У меня есть требование что-то вродеВопрос о генерации кода времени компиляции
void doSomeThing(int x)
{
.....
}
void fun()
{
#ifdef XXXX_1_YYYY
doSomeThing(XXXX_1_YYYY);
#endif //XXXX_1_YYYY
#ifdef XXXX_2_YYYY
doSomeThing(XXXX_2_YYYY);
#endif //XXXX_2_YYYY
#ifdef XXXX_3_YYYY
doSomeThing(XXXX_3_YYYY);
#endif //XXXX_3_YYYY
#ifdef XXXX_4_YYYY
doSomeThing(XXXX_4_YYYY);
#endif //XXXX_4_YYYY
....
upto XXXX_20_YYYY
}
Есть в любом случае я могу уменьшить типирование это до 20 с помощью некоторых макросов метод расширения или любое другое решение?
MACRO определение может быть что-то вроде этого
#define XXXX_1_YYYY 10
#define XXXX_2_YYYY 20
#define XXXX_3_YYYY 30
#define XXXX_4_YYYY 40
...
#define XXXX_20_YYYY 200
Каждый из #ifdef
не являются взаимоисключающими. Код в C++
Дополнительная информация plz, что вы пытаетесь сделать? – matt
Это версия «c» Boost? –
@Will Dean: хорошо, так что, возможно, нет верификации c, но вы, вероятно, могли бы просто скопировать все свои препроцессорные вещи ... это тот же препроцессор? во-вторых, оригинальные теги для этого вопроса были просто шаблонами «макросов». Я собирался что-то сказать, не знаю, ПОЧЕМУ, парень изменил его ... так что да, я уверен, что он использует C++ – matt