Почему в некоторых библиотеках C ++ Boost есть расширение ".ipp"?
Кажется, что они являются заголовочными файлами, включенными в файл ".hpp" с тем же именем.
Распространено ли это соглашение вне Boost?
Чем обоснован специальный тип файла?
Объяснение от одного из шаблонных гуру:
Если вы хотите разделить источники шаблонов на интерфейс и реализация (есть много веских причин для этого, в том числе управление экземпляром), вы не можете очень хорошо использовать одно и то же имя (foo.hpp) дважды, и foo.cpp не подойдет ни для одного из них. foo.ipp четко разграничивает файл как файл реализации, предназначенный для быть включенным в foo.hpp.
Я полагаю, что "ipp" стоит из файла "реализации". то есть они содержат фактически код (для встроенных функций и шаблонов), а не просто объявление (которое находится в заголовке -. H или .HPP - файлах)