Директива #undef
Директива препроцессора, которая удаляет текущее определение константы или макроса, ранее определенного с помощью директивы #define .
идентификатор #undef |
---|
Параметры
Элемент | Описание |
---|---|
Идентификатор |
Идентификатор константы или макроса для удаления определения. Если макрос не определен, укажите только идентификатор, а не список параметров. |
Комментарии
Директиву #undef можно применить к идентификатору, который не имеет предыдущего определения; это гарантирует, что идентификатор не определен. Замена макросов не выполняется в инструкциях #undef.
Директива #undef обычно связана с директивой #define для создания области в исходной программе, в которой идентификатор имеет особое значение. Например, определенная функция программы-источника может использовать константы манифестов для определения значений среды, которые не влияют на остальные части программы. Директива #undef также работает с директивой [) для управления условной компиляцией исходной программы.
Константы и макросы можно не определить из командной строки с помощью параметра /U, а затем идентификаторы, которые необходимо определить. Это эквивалентно добавлению последовательности директив #undef в начало исходного файла.
Примеры
В следующем примере показано, как использовать директиву #undef для удаления определений символьной константы и макроса.
#define WIDTH 80
#define ADD( X, Y ) (X) + (Y)
#undef WIDTH
#undef ADD