aspose.info
RU

HH — формат файла заголовка C++

Обновлено

.HH вариант №

Файл с расширением .hh представляет собой заголовочный файл C++, который включает объявление переменных, констант и функций. Эти объявления используются соответствующими файлами реализации C++, обычно сохраняемыми как файлы .cpp, которые содержат реальную реализацию пользовательской логики. На файлы заголовков .hh ссылаются в файлах реализации CPP с помощью директивы #include. Вы можете добавить в свой проект C++ как можно больше файлов заголовков, чтобы включить объявления на уровне проекта.

Формат файла .HH

Файл .hh — это обычный текстовый файл, созданный с учетом правил определения файла заголовка. Наиболее распространенная информация, объявленная в файле .hh, включает следующее.

Переменные — в случае объектно-ориентированного программирования (ООП) файл заголовка класса содержит определения всех переменных уровня класса, которые доступны в файлах исходного кода реализации. Объявление методов — все объявления методов включены в файлы заголовков .h, чтобы быть доступными для нескольких файлов реализации. Определения невстроенных функций — заголовочные файлы также могут содержать определения невстроенных методов. Карты сообщений — файл заголовка также может содержать карты сообщений в случае реализации исходного кода MFC. В таком случае карты сообщений связаны с реализацией функциональности, которая связана с элементами пользовательского интерфейса, такими как кнопка, флажок, переключатель и т. д.

Разница между файлами .H и .HH

По-видимому, между файлами заголовков .h и .hh нет такой разницы, кроме рекомендуемого способа их использования для соответствующих языков, т.е. C или C++. Именование файлов заголовков в соответствии с этими языками поможет вам различать их в большом проекте, который может представлять собой сочетание реализаций C и C++.

Кроме того, если заголовки разделены по расширению, ваш редактор может автоматически применять соответствующее форматирование соответственно.

В целом, различие этих двух форматов файлов не принесет никакого вреда, но будет полезным, и рекомендуется следовать различию C и C++.

Защита заголовка

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

#ifndef ANY_UNIQUE_NAME_HERE_HPP
#define ANY_UNIQUE_NAME_HERE_HPP

// your declarations (and certain types of definitions) here

#endif

С помощью этого заголовка препроцессор проверяет, был ли уже определен ANY_UNIQUE_NAME_HERE_HPP. Если заголовок повторно включен в один и тот же файл, содержимое заголовка будет проигнорировано.

использованная литература

См. также