Страницы

Поиск по вопросам

вторник, 30 октября 2018 г.

Зачем пишут #ifndef file_h в начале файла

Для каких ситуаций может быть полезно определение именно таким образом?
#ifndef __IMAGE_H__ #define __IMAGE_H__
////////////////////
#endif


Ответ

Эти директивы предназначены для защиты от многократного включения при наличии сложной иерархии включаемых файлов - если такой файл уже был включен где-то раньше, то и __IMAGE_H__ будет объявлена, а значит, условный #define будет пропущен, вместе со всеми объявлениями до #endif
В некоторых компиляторах есть аналогичные по действию #pragma, например,
#pragma once
Но версия с условием наиболее универсальна.

Комментариев нет:

Отправить комментарий