Защитные блоки используются для предотвращения многократного включения заголовочного файла в одну единицу перевода.Это часто является проблемой, когда вы включаете несколько заголовочных файлов, которые, в свою очередь, включают общие стандартные заголовочные файлы.
Проблема с несколькими включениями одного и того же файла заключается в том, что один и тот же символ определяется несколько раз.
Охранные предложения можно обрабатывать с помощью операторов #define
и #ifdef
, но намного проще с нестандартным, но универсальным, #pragma once
.
// foo.h
#pragma once
int foo(void);
// etc.