Показать сообщение отдельно
Старый 22.12.2021, 13:14   #1  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
268 / 829 (28) +++++++
Регистрация: 23.10.2012
FYI Закрывающая скобка в макросе-константе
Всем привет.
Имеют место ситуации требующие использования текстовых констант. Не новость, что их использование не является признаком хорошего тона, но не всегда существует потребность в параметризатии тех или иных значений.
Наилучшим решением служит использование макросов-констант.
Однако, при работе со строковой константой есть ограничение, а именно отсутствие возможности в использовании символа ")".
Поэтому следующий код не будет скомпилирован:
X++:
#define.parenthesis(')')
;

info(#parenthesis);
Тем не менее, возможность использования закрывающей скобки в макросах есть, но макросах иного типа.
Никто не запрещает создать локальный/глобальный макрос и использовать его как константу:
X++:
#localmacro.parenthesisLocal 
')'
#endmacro
;

info(#parenthesisLocal);