Google C++ Style Guide / Google C++ Style Guide: The -inl.h Files

Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Разрешается использовать суффикс -inl.h в названиях файлов, содержащих сложные (нетривиальные) встраиваемые функции, если таковые понадобились.

kikobyte 19.11.12 в 21:38

1

Тело встраиваемой функции должно находиться в заголовочном файле, чтобы компилятор имел к нему доступ отовсюду, где эта функция вызывается, и мог его успешно встроить. Однако, код, относящийся непосредственно к реализации, по праву следует писать в .cc файлах, и мы не приветствуем наличие большого количества подобного кода в .h файлах, если только это не улучшает его читаемость или производительность.

kikobyte 19.11.12 в 21:47

1

Если определение встраиваемой функции короткое, с крайне небольшой внутренней логикой, вы должны поместить ее код в заголовочный файл. Например, акцессоры и мутаторы обычно должны быть внутри определения класса. Более сложные встраиваемые функции также могут быть помещены в заголовочный файл для удобства реализации и вызова, но если это делает заголовочный файл слишком громоздким, вы можете вместо этого вынести их в -inl.h файл. Это отделяет реализацию от определения класса, но по-прежнему позволяет включать реализацию по необходимости.

mayorovp 20.11.12 в 05:49

0

Также -inl.h файлы используются для определения шаблонов функций. Это позволяет сохранять их читаемость.

kikobyte 19.11.12 в 21:53

1

Не забывайте, что -inl.h, как и любой другой заголовочный файл, должен содержать защиту от повторного включения (гард).

kikobyte 19.11.12 в 21:55

0

Не забывайте, что -inl.h, как и любой другой заголовочный файл, должен содержать защиту от повторного включения (header guard)

mayorovp 20.11.12 в 05:49

0
Минутку...