【问题标题】:In the C++ Boost libraries, why is there a ".ipp" extension on some header files在 C++ Boost 库中,为什么某些头文件上有“.ipp”扩展名
【发布时间】:2010-10-07 07:24:54
【问题描述】:

在 C++ Boost 库中,为什么某些头文件有“.ipp”扩展名?

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

这种约定在 Boost 之外很常见吗?

拥有特殊文件类型的理由是什么?

【问题讨论】:

    标签: c++ boost


    【解决方案1】:

    Explanation 来自模板专家之一:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-15
        • 2011-04-05
        • 1970-01-01
        • 2020-07-20
        • 1970-01-01
        • 2011-06-08
        • 2013-10-09
        • 1970-01-01
        相关资源
        最近更新 更多