Мой личный стиль работы с C++ всегда заключался в том, чтобы помещать объявления классов во включаемый файл, а определения — в файл .cpp, что очень похоже на то, что предусмотрено в ответе Локи на вопрос Файлы заголовков C++, разделение кода. По общему признанию, одна из причин, по которой мне нравится этот стиль, вероятно, связана со всеми годами, которые я провел за кодированием Modula-2 и Ada, которые имеют схожую схему со спецификациями и файлами тела.
У меня есть коллега, гораздо более разбирающийся в C++, чем я, который настаивает на том, чтобы все объявления C++, где это возможно, включали определения прямо в заголовочный файл. Он не говорит, что это правильный альтернативный стиль или даже немного лучший стиль, а скорее это новый общепринятый стиль, который все сейчас используют для C++.
Я не такой гибкий, как раньше, поэтому мне не очень хочется вскарабкаться на его подножку, пока не увижу там еще несколько человек с ним. Итак, насколько распространена эта идиома на самом деле?
Просто чтобы дать некоторую структуру ответам: это сейчас The Way™, очень распространено, несколько распространено, необычно или сумасшедшее?
Подробнее здесь: https://stackoverflow.com/questions/583 ... ader-files