在C++;Boost库,为什么会有一个“Boost”;。ipp“;某些头文件的扩展名 在C++ Boost库中,为什么某些头文件上有“.IPP”扩展?

在C++;Boost库,为什么会有一个“Boost”;。ipp“;某些头文件的扩展名 在C++ Boost库中,为什么某些头文件上有“.IPP”扩展?,c++,boost,C++,Boost,它们似乎是包含在同名“.hpp”文件中的头文件 这个惯例在Boost之外常见吗 使用特殊文件类型的理由是什么 我相信“ipp”来自“实施”文件。i、 它们实际上包含代码(用于内联函数和模板),而不仅仅是声明(位于头文件--.H或.HPP--files中)来自模板大师之一: 如果要将模板源拆分为接口和 实施(有很多很好的理由这样做,包括 控制实例化),您不能很好地使用相同的名称 (foo.hpp)两次,foo.cpp对其中任何一个都不合适。 foo.ipp清楚地将该文件描述为旨在 包括在foo.h

它们似乎是包含在同名“.hpp”文件中的头文件

这个惯例在Boost之外常见吗

使用特殊文件类型的理由是什么

我相信“ipp”来自“实施”文件。i、 它们实际上包含代码(用于内联函数和模板),而不仅仅是声明(位于头文件--.H或.HPP--files中)

来自模板大师之一:

如果要将模板源拆分为接口和 实施(有很多很好的理由这样做,包括 控制实例化),您不能很好地使用相同的名称 (foo.hpp)两次,foo.cpp对其中任何一个都不合适。 foo.ipp清楚地将该文件描述为旨在 包括在foo.hpp中