В действующем C ++ (3-е издание) Скотт Мейерс в пункте 31 предлагает, чтобы классы помимо своих классических файлов объявлений (.h) и определений (.cpp) имели файл включения предварительной декларации (fwd. h) какой класс, который не нуждается в полном определении, может использовать вместо объявления себя вперед.
Я в некоторой степени вижу в этом смысл, но на самом деле я не вижу в этом жизнеспособного варианта ... Кажется, его очень сложно поддерживать, скорее излишне и вряд ли необходимо.
Однако я вижу его использование для шаблонных предварительных объявлений, которые довольно тяжелые. Но для простых занятий? Кажется, что поддерживать его сложно, и он создаст много почти пустых включаемых файлов, которые служат очень малой цели ... стоит ли хлопот?
Вот пример:
// Class.h
class Class
{
Class();
~Class();
};
// ClassFwd.h
class Class;
// Class.cpp
Class::Class()
{
}
Class::~Class()
{
}
Мой вопрос :
Что вы, ребята, думаете? Если это хорошая практика?
ПРИМЕЧАНИЕ Меня больше всего интересуют аргументы ДЛЯ этой практики, чтобы узнать, пропустил ли я что-то, что заставило бы меня согласиться со Скоттом Мейерсом.