В моем проекте в настоящее время я использую относительные пути для включения моих файлов, которые, по общему признанию, не часто меняются. Тем не менее, он дает довольно странные шаблоны включения, потому что я обычно вложенные файлы в много папок.
Например, в моем текущем проекте у меня есть network/server/myfile.hpp
. Он должен включать common/log.hpp
. Текущий я использую #include "../../common/log.hpp"
, который довольно многословный, но работает.
Если я вместо этого добавлю свой основной каталог include в путь, я мог бы просто включить "common/log.hpp"
.
Я знаю, что этот вопрос может быть более предпочтительным, чем что-либо еще, но есть ли какие-либо объективные плюсы и минусы в отношении приложений с кросс-платформой и что такое соглашения на С++?