Я только что отметил этот пункт в Руководстве по стилю кодирования Google C++ - и я не совсем понял его.
Возьмите этот гид с щепоткой соли. Многие из рекомендаций призваны помочь взаимодействовать с устаревшей кодовой базой Google и не являются особенно хорошими советами для общей разработки на С ++.
Итак, у вас даже есть такие файлы -inl.h
?
Нет особой веской причины; Я сам этого не делаю. Некоторым людям нравится, потому что это сводит к минимуму количество материала в главном файле заголовка, которое пользователи заголовка обычно хотят прочитать, и отделяет детали реализации, о которых они обычно не заботятся.
Кроме того, почему мы вообще хотим встроить длинные функции в любом случае?
Иногда мы должны: определения шаблонов должны быть доступны в любой единицы перевода, которая создает экземпляр шаблона, поэтому они (как правило) должны быть в заголовках.
Иногда мы хотим: реализуя функцию inline в заголовке, нам не нужно беспокоиться о создании и связывании отдельной единицы перевода для нее. Это может сделать его более удобным для распространения библиотеки; возможно, за счет более длительного времени сборки.
«long», вероятно, относительный, и в этом случае я бы предположил, что google считает что-то большее, чем одна строка – PlasmaHH