Мне было интересно, есть ли какие-либо pro и contra, содержащие инструкции непосредственно в файлах include, а не в их исходном файле.Лучшая практика для включения из файлов include
Лично мне нравится включать в себя «чистый», поэтому, когда я включаю их в некоторый файл c/cpp, мне не нужно выслеживать каждый возможный заголовок, потому что включенный файл сам по себе не заботится , С другой стороны, если у меня есть включенные в include файлы, время компиляции может увеличиться, потому что даже с включенными защитами файлы сначала должны быть проанализированы. Это просто вопрос вкуса, или есть какие-то плюсы и минусы над другим?
Что я имею в виду:
sample.h
#ifdef ...
#include "my_needed_file.h"
#include ...
class myclass
{
}
#endif
sample.c
#include "sample.h"
my code goes here
Versus:
sample.h
#ifdef ...
class myclass
{
}
#endif
sample.c
#include "my_needed_file.h"
#include ...
#include "sample.h"
my code goes here
Удачи, скомпилировав класс в C. – cHao
Каждый из них увеличивает время компиляции и перетаскивает больше идентификаторов. Вы хотите ограничить оба. Если вам не нужно включать в sample.h, чтобы он работал с other_translation_unit.cpp, не добавляйте его в sample.h. И если вы считаете, что время перевода не имеет большого значения, вы еще не пробовали шаблонные заголовки C++.;-) – DevSolar
Вы включаете те же заголовки в обоих примерах, как бы время сборки увеличивалось? –