El encabezado <iostream>
tiene un compañero <iosfwd>
que es suficiente si solo necesito punteros o referencias a transmisiones. Este último es un escenario común cuando se sobrecarga operator<<
.Encabezados hacia adelante para contenedores STL
¿Hay un encabezado para los contenedores STL? Quiero definir un par de funciones que toman referencias a contenedores STL, y no quiero incluir <vector>
, <list>
, <set>
et. Alabama. en su totalidad solo para que pueda tener referencias a esos tipos. ¿Hay soluciones estándar, de refuerzo u otras para este problema?
El "problema" para esto es usar encabezados precompilados para incluir encabezados costosos como Boost y otras libretas de plantillas. Visual C++ tiene estos, no está seguro acerca de otros compiladores. Si lo hace, sea conservador e incluya también trabajo- en curso encabezados, o encontrará que tiene una gran cantidad de reconstrucciones completas frustrantes. –
@up - Así es, también tiene encabezados precompilados. Pero no soy un usuario de esos y en realidad no estoy seguro de la Rendimiento de rendimiento en tiempo de compilación de aquellos en lo que respecta a las plantillas: por lo que escuché, el contenido de un PCH con plantillas no es muy diferente del código fuente en sí mismo. :) Lo cual suena algo lógico. – Kos
@Kos: no se pretende que los contenidos sean diferentes, es para reducir el tiempo de construcción general al no tener que leer y preprocesar los archivos de encabezado completos en cada unidad de compilación que los necesite. –