В контексте программирования на C++, guard (защитник или охранник) — это механизм, используемый в заголовочных файлах для предотвращения многократного включения одного и того же файла в проект. Это делается с помощью директив препроцессора #ifndef, #define и #endif.
Пример использования:
#ifndef MY_HEADER_H
#define MY_HEADER_H
// Содержимое заголовочного файла
#endif // MY_HEADER_H
Если файл MY_HEADER_H уже был включен, то директива #ifndef вернет ложь, и содержимое файла (включая #define) будет проигнорировано, предотвращая повторное включение.
Ответ: механизм, предотвращающий многократное включение одного и того же заголовочного файла с помощью директив препроцессора #ifndef, #define и #endif.