170 похожих чатов

Хотел спросить, почему header file называется .h? Я понял типа

это от начальной буквы, но я не понял почему именно так, типа в этих файлах же тоже пишется код на c++, почему я не могу назвать пользовательскую библиотеку .cpp и импортировать его в свой код? В универе проходим c++, этот момент не объяснили, на мой вопрос ответили "Ты обязан так называть, по другому нельзя"

9 ответов

6 просмотров

Это соглашение. По сути, имена файлов ничем не ограничены. Вы можете назвать файл .java, скомпилировать его gcc, или подключить заголовочный файл с именем head.pas. Только в коде это выглядит дико. Есть общие правила именования файлов, соглашения. Их стоит придерживаться, но они не прописаны жёстко в комплияторе.

Drago- Автор вопроса

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

Была идея называть их hpp, но в массе не прижилось. А вообще дать заголовочному файлу расширение cpp можно. Во многих случаях ничего не поломается. Но путаница возникнет. Стандартс.

можно называть по другому, на компиляцию это не влияет. Но так принято, по хорошему вообще-то надо hpp и cpp использовать

Потому что слово header начинается с буквы H

Язык c++ как и язык Си никак не ограничивают и не регламентируют название и расширение заголовочных файлов, Поэтому ты можешь ставить им любое решение Какое тебе хочется хоть. PDF

Про по-другому нельзя ваши преподаватели сильно неправы. Наоборот можно как угодно. А вот если ты придёшь на работу и будешь заголовки называть .doc То коллеги тебя очень быстро научат уму-разуму

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

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Всем привет! procedure TForm1.FormCreate(Sender: TObject); type TStartEnd = record S: Byte; E: Byte; end; var a, b: TStartEnd; begin {1} a.S := 1; {2} a.E := 2; ...
Руслан Михайлович
10
Всем привет!) я тут новенький и пытаюсь освоить evolution методом тыка. У меня при переходе между папками файлов выскакивают вот такие уведомления Можете подсказать как их от...
Диман Samoed
10
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Карта сайта