Должен ли я определять статические встроенные методы в заголовочном файле?

Я читал о том, что обычно лучше ничего не определять в заголовочных файлах, потому что для каждого другого файла, включающего заголовочный файл, создаются избыточные копии. Однако в случае со статическими встроенными методами кажется, что я должен определить их на месте (по крайней мере, Visual Studio 2010 не позволяет мне это сделать). Поэтому, если я пишу интерфейс в файле заголовка, я не могу определить статический встроенный метод вне определения класса или в файле .cpp.

Итак, должен ли я вообще использовать статические встроенные методы? И связанный с этим вопрос: должен ли я вообще определять какой-либо метод или переменную в заголовочном файле (как насчет констант)?

Как бы то ни было, как ни странно, в моих книгах по C++ это не рассматривается подробно.

Изменить: я читал похожие вопросы о статических встроенных методах, но ни один из них, похоже, не решает эту проблему напрямую.

20
задан phimuemue 25 September 2014 в 15:52
поделиться