nestle libreria library drink descargar bebida c++ boost

libreria - En las bibliotecas C++ Boost, ¿por qué hay una extensión ".ipp" en algunos archivos de encabezado



descargar boost (2)

Creo que "ipp" se encuentra en el archivo de "implementación". es decir, tienen realmente código (para funciones y plantillas en línea) en lugar de simplemente declaración (que están en el encabezado -. H o .HPP - archivos)

En las bibliotecas C ++ Boost, ¿por qué hay una extensión ".ipp" en algunos archivos de encabezado?

Parece que son archivos de encabezado incluidos por el archivo ".hpp" del mismo nombre.

¿Es esta convención común fuera de Boost?

¿Cuál es la justificación para tener un tipo de archivo especial?


Explanation de uno de los gurús de plantilla:

Si desea dividir los orígenes de su plantilla en la interfaz y la implementación (hay muchas buenas razones para hacerlo, incluido el control de creación de instancias), no puede usar el mismo nombre (foo.hpp) dos veces y foo.cpp no sería apropiado para ninguno de los dos. foo.ipp delinea claramente el archivo como un archivo de implementación destinado a #incluido en foo.hpp.