Google C++ Style Guide / Google C++ Style Guide: The -inl.h Files
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Разрешается использовать суффикс -inl.h в названиях файлов, содержащих сложные (нетривиальные) встраиваемые функции, если таковые понадобились. kikobyte 19.11.12 в 21:38 |
|
|
Тело встраиваемой функции должно находиться в заголовочном файле, чтобы компилятор имел к нему доступ отовсюду, где эта функция вызывается, и мог его успешно встроить. Однако, код, относящийся непосредственно к реализации, по праву следует писать в .cc файлах, и мы не приветствуем наличие большого количества подобного кода в .h файлах, если только это не улучшает его читаемость или производительность. kikobyte 19.11.12 в 21:47 |
||
|
Если определение встраиваемой функции короткое, с крайне небольшой внутренней логикой, вы должны поместить ее код в заголовочный файл. Например, акцессоры и мутаторы обычно должны быть внутри определения класса. Более сложные встраиваемые функции также могут быть помещены в заголовочный файл для удобства реализации и вызова, но если это делает заголовочный файл слишком громоздким, вы можете вместо этого вынести их в -inl.h файл. Это отделяет реализацию от определения класса, но по-прежнему позволяет включать реализацию по необходимости. mayorovp 20.11.12 в 05:49 |
||
|
Также -inl.h файлы используются для определения шаблонов функций. Это позволяет сохранять их читаемость. kikobyte 19.11.12 в 21:53 |
||
|
Не забывайте, что -inl.h, как и любой другой заголовочный файл, должен содержать защиту от повторного включения (гард). kikobyte 19.11.12 в 21:55 Не забывайте, что -inl.h, как и любой другой заголовочный файл, должен содержать защиту от повторного включения (header guard) mayorovp 20.11.12 в 05:49 |
