4.3 Удаленный код
Если вы замените или удалите часть программы, но хотите сохранить старый код для дальнейшего использования, вы часто не можете просто закомментировать его. Блочные комментарии не вложены, поэтому первый комментарий внутри старого кода завершит комментирование. Вероятным результатом будет поток синтаксических ошибок.
Один из способов избежать этой проблемы — использовать всегда ложное условное выражение. Например, поместите #if 0 перед удаленным кодом и #endif после него. Это работает даже если отключаемый код содержит условные операторы, но они должны быть полными условными операторами (сбалансированные «#if» и «#endif»).
Некоторые люди используют #ifdef notdef вместо этого. Это рискованно, потому что notdef может случайно быть определен как макрос, и тогда условие выполнится. #if 0 можно рассчитывать на то, что оно не выполнится.
Не используйте #if 0 для комментариев, которые не являются кодом C. Используйте вместо этого реальный комментарий. Внутренняя часть #if 0 должна состоять из полных токенов; в частности, одинарные кавычки должны быть сбалансированы. Комментарии часто содержат несбалансированные одинарные кавычки (известные на английском языке как апострофы). Это сбивает с толку #if 0. Они не сбивают с толку ‘/*’.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-14.2.0/cpp/Deleted-Code.html