Действительно ли возможно поместить макрос в макрос в C++?
Что-то как:
#define Something\
#ifdef SomethingElse\ //do stuff \
#endif\
Я попробовал, и это не работало так, мое предположение - это, не работает, если нет своего рода синтаксис, который может зафиксировать его?
Нет, но вы можете просто провести рефакторинг, вытащив #ifdef
в качестве верхнего уровня и используя два разных # define Something ...
версии для истинной и ложной ветвей #ifdef
.
Макросы, да. Директивы препроцессора, которые вы опубликовали, нет
Нет. Я ответил на это в макросах c ++ с памятью?
Если вы хотите проверить или изменить среду предварительной обработки, другими словами, определить подпрограмму предварительной обработки, а не макрос замены строки, вам необходимо использовать заголовок, хотя законных причин для этого немного.