Директива препроцессора для создания ключевых слов в C - PullRequest
1 голос
/ 06 марта 2019

Я хочу создать это ...

int main(void) {
  int i;

  for(i = 0; i < 10; i++){
    //Not an important Code
  }
  return 0;
}

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

#define A f
#define B or

int main(void) {
  int i;

  AB(i = 0; i < 10; i++){
    //Not an important Code
  }
  return 0;
}

Мне нужно знать, возможно ли создавать инструкции как простые для , составленные из различных # определяет

1 Ответ

3 голосов
/ 06 марта 2019

делает

#define A f
#define B or
#define C(x, y) x##y
#define D(x,y) C(x,y)

, тогда

D(A, B)(i = 0; i < 10; i++)

будет переписано как

for (i = 0; i < 10; i++)
...