Можно ли все заголовки записать в один единый файл?
В любом большом проекте очень много файлов, и при создании новых приходится прописывать include
для очень многих хедеров. Если расположение или имя какого-то файла меняется, приходится исправлять все include-ы
. Мне в голову пришла идея - раз уж мы используем define
или pragma once
(кстати почему-то в описании нашего любимого микрософта пример для pragma once состоит из define-ов , есть ли между ними разница?)для того чтобы подключить заголовок лишь один раз, так почему бы все заголовки не держать в одном файле для заголовков и везде подключать только его? Особенно удобно это может быть удобно для статических библиотек: чтобы не подключать несколько модулей по отдельности - прописал один хедер и готово! Насколько я понимаю(исправьте, пожалуйста, если это не так), всё равно при линковке компилятор возьмёт в бинарь только те функции, которые мы используем.
Я пока не увидел подводных камней или минусов, но опыт подсказывает: если так до сих пор никто не делает, значит стоит усомниться, помогите разобраться пожалуйста:)