ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1439038 Топик полностью
abivan (28.05.2024 17:37, просмотров: 120) ответил Cкpипaч на Вообще-то h-файл это макроподстановка (дословно) в текст модуля, который импортирует объекты. Компилировать h-файл нет ни малейшего смысла. Он ЛИНКЕРУ не нужен. С рекурсией лучше бороться путем применения собственной головы и просто ее не создавать.
это правило хорошего тона. .h файл должен быть самодостаточным. Это нужно чтобы если кто-то решил подключить ваш файл к себе в проект к своему модулю ему не нужно было бы искать и подключать до этого .h файла другие .h файлы чтобы его модуль скомпилировался без ошибок. Поэтому все типы используемые в создаваемом .h файле должны быть описаны в подключенных к нему .h -файлах. А чтобы быть уверенным, что все подключил и не наподключал чего лишнего вот тут компиляция и 

пригодится. линкер тут совсем ни при чем, это проверка синтаксиса. Голова для рекурсии она конечно хорошо, но иногда бывает, что накосячишь, вот тут гард в конце и помогает найти где накосячил.