В C ++ возможно ли использовать строковый литерал в качестве имени макроса? - PullRequest
2 голосов
/ 15 декабря 2010

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

#define "oldString" "newString"

Ответы [ 2 ]

5 голосов
/ 15 декабря 2010

Нет, #define позволяет присвоить значение идентификатору.Идентификаторы не могут содержать кавычки.

5 голосов
/ 15 декабря 2010

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

...