Estaba leyendo un libro de estructuras de datos anterior y decía que cuando está haciendo la clase de programación de plantillas debe incluir el .cpp al final del archivo .h.Incluyendo .cpp al final del archivo de encabezado de plantilla
Hasta donde yo sé, tiene que hacer implementaciones de funciones completas en su archivo .h para cualquier función de miembro de clase de plantilla, es debido a la forma en que funciona el compilador de plantillas.
Las únicas funciones que me enseñaron se pueden poner en un archivo de implementación para una clase de plantilla en las funciones de especialización de plantillas, es decir: template<> Class<Type>::function_name()
.
¿Por qué este libro sugeriría incluir el .cpp al final de .h? ¿Es esto solo una forma de separar las implementaciones en diferentes archivos mientras los compilamos con el encabezado? y si es así, ¿dónde colocarías especializaciones reales? Supongo que no podrían entrar en el .cpp incluido en el encabezado.
Nunca he visto en mi vida estos archivos con el nombre 'ipp' –
@JohnDibling: Todo ha terminado. Las preguntas sobre eso fueron planteadas aquí en SO antes. –
ver http://stackoverflow.com/questions/543507/in-the-c-boost-libraries-why-is-there-a-ipp-extension-on-some-header-files –