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-9.5.0/cpp/Deleted-Code.html