В одном из предыдущих уроков о предварительных объявлениях мы говорили, что у идентификатора может быть только одно определение. А что будет, если записать два определения одной переменной? А как вы думаете? Ошибка будет, ошибка компиляции. И называется она дублированием определений.

Вот чтобы избежать возникновения подобных ошибок и были созданы header guards (в переводе - “охранники заголовков”). Это директивы условной компиляции, которые выглядят следующим образом:
#ifndef SOME_UNIQUE_NAME_HERE
#define SOME_UNIQUE_NAME_HERE
// ваши объявления и определения здесь #endif
Если вы, работая в IDE, подключите этот заголовок в свой проект, то первым делом файл проверит, был ли ранее определен идентификатор SOME_UNIQUE_NAME_HERE. Если поиски не дадут результатов, то мы сами #define (определяем) SOME_UNIQUE_NAME_HERE, а затем пишем основной код заголовочного файла. А вот если в проекте уже существует (подключен раньше) этот заголовочный файл, то получится, что SOME_UNIQUE_NAME_HERE уже был определен. Таким образом, при повторном подключении заголовочного файла, всё его содержимое будет игнорироваться.
Во всех заголовках должны быть header guards. Вместо SOME_UNIQUE_NAME_HERE вы можете использовать и любой другой идентификатор, который только захотите, но принято использовать в качестве идентификатора название заголовочного файла с приставкой _H. Например, в math.h…
Это интересно
0
|
|||

Последние откомментированные темы:
-
Обзор смартфона LG Optimus L9
(1)
hobert
,
01.03.2022
-
Антивирусные приложения Android для защиты устройства
(1)
Наталья_ласточка
,
27.02.2022
-
Как отключить уведомления от Сбербанк за 60 рублей через приложение Сбербанк онлайн и ещё 5 методов!
(1)
bbob
,
15.02.2022
-
Обходим блокировку сайтов.
(3)
Евгений_к
,
07.02.2022
20251108075715