нет, вы не можете
#define identifier something
то, что вы определяете, должно быть идентификатором , который не может содержать пробел. Также он не может содержать дефис, начинаться с числа и т. Д., Вы можете определить только идентификатор
то, что вы написали, будет работать
#define replace to replacement here
, но не как вы ожидаете. Эта строка определила replace
для замены на to replacement here
hth.
Нет, это невозможно. Почему бы просто не сделать это:
#define replace_to replacement here
Если вы выполняете единичный тест, вы можете скомпилировать свой файл со следующим флагом
-Dprivate=public
. Затем в вашем модульном тесте вы сможете вызывать все частные методы вашего класса.
EDIT:
Недавно я заметил, что использование флага -fno-access-control в gcc-компиляторе позволяет вам получить доступ к частному методу или члену. Более подробную информацию по этой теме можно найти здесь: Тестирование модуля с помощью -fno-access-control
Это похоже на то, что вы пытаетесь сделать, будет намного лучше обслуживаться глобальным поиском и заменой.
, вероятно, нет. Он поймет, что первое слово после определения - это имя идентификатора, а остальное - это «тело» этого.
Вы могли бы сделать ...
#define replace replacement
#define to here
Следите за непреднамеренными побочными эффектами определений. Вероятно, вы захотите #undef
их после того, как они выполнили свою работу.