MrSayMyName
@MrSayMyName

В каких случаях использовать .h и .hpp?

Здравствуйте.

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

Но в подавляющем большинстве книг и пособий для C++ применяются как раз .h.

Объясните, в чём разница между данными расширениями? Почему в одних проектах применяются одни расширения, а в других другие? И почему если .hpp для C++ - люди в большинстве своём всё равно используют .h? Является ли дурным тоном использование .hpp?
  • Вопрос задан
  • 4752 просмотра
Пригласить эксперта
Ответы на вопрос 4
GavriKos
@GavriKos
Технически компилятору вообще все равно какое вы расширение поставите - вы все равно указываете при инклуде полное имя с полным расширением. Поэтому ставьте как принято в вашей нейминг конвенции.

Про с++ и с - в принципе вы правы, однако это рекомендация, а не правило.
Ответ написан
Комментировать
MrNexeon
@MrNexeon
Расширение .hpp иногда используется при написании шаблонов, т.к. реализация функции класса-шаблона в отдельном файле .cpp вовлечет за собой ошибку.
Ответ написан
Комментировать
mezastel
@mezastel
Финансовая математика, программирование
Я обычно использую .hpp когда код header-only и .h когда есть еще и .cpp.
Ответ написан
Комментировать
@abcd0x00
Можно так поделить: .h - если эти файлы можно использовать в проекте на C; .hpp - если эти файлы можно использовать только в проекте на C++.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы