Да, знаю.
Существует два основных способа:
Использование директив препроцессора (#ifndef
, #define
, #endif
):
c
При первом включении файла FILENAME_H
, макрос FILENAME_H
еще не определен, поэтому блок кода между #ifndef FILENAME_H
и #endif
будет обработан препроцессором. Внутри этого блока определяется макрос FILENAME_H
. При последующих включениях этого же файла в пределах одной единицы трансляции, FILENAME_H
уже будет определен, и блок кода будет проигнорирован.
Использование директивы #pragma once
:
c
Эта директива является нестандартной (хотя поддерживается большинством современных компиляторов) и сообщает компилятору, что данный файл должен быть включен только один раз в пределах од
Да, знаю.
Существует два основных способа:
Использование директив препроцессора (#ifndef
, #define
, #endif
):
c
При первом включении файла FILENAME_H
, макрос FILENAME_H
еще не определен, поэтому блок кода между #ifndef FILENAME_H
и #endif
будет обработан препроцессором. Внутри этого блока определяется макрос FILENAME_H
. При последующих включениях этого же файла в пределах одной единицы трансляции, FILENAME_H
уже будет определен, и блок кода будет проигнорирован.
Использование директивы #pragma once
:
c
Эта директива является нестандартной (хотя поддерживается большинством современных компиляторов) и сообщает компилятору, что данный файл должен быть включен только один раз в пределах од
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.