2012-02-26 18 views
5

¿Es posible incluir la biblioteca estándar de C++ en una sola instrucción, o debe hacerlo encabezado por encabezado?Incluir biblioteca estándar de C++

+2

No hay '#include '. –

+0

Es mejor que los incluya cuando lo necesite, para que la compilación y la vinculación tomen menos tiempo. – Ajay

Respuesta

0

No, no hay atajos para incluir todos los encabezados estándar.

0

Quizás puede incluir todos los encabezados en su propio all.h, luego #include<all.h>, pero no es recomendable.

4

No, no hay atajos para incluir todos los encabezados estándar. Generalmente debe incluir cada uno que requiera por separado.

Es posible crear un único archivo de encabezado que incluya todos los encabezados de biblioteca estándar, algo así como all.h. Sin embargo, debe considerar si hacer eso es una jugada inteligente, ya que ampliará significativamente los tiempos de compilación.

Además, asegúrese de comprender el modelo de compilación C++ antes de tomar tales decisiones. Si aún no lo sabe, averigüe qué es una unidad de traducción, un archivo de objeto, qué hace el vinculador, cuál es la diferencia entre incluir un encabezado de biblioteca y vincular una biblioteca.

+0

Bien, gracias, eso es exactamente lo que necesitaba. No tengo la intención de hacerlo a diario, el otro día estaba en una competencia de programación y tanto mi compañero como yo sabíamos qué hacer, pero no conocíamos la biblioteca para obtener lo que necesitábamos, y no lo hicimos. tengo una referencia de ellos – xspyderz

+0

Supongo que lo mejor que se puede hacer en tales situaciones es intentar tener acceso a una referencia de biblioteca, no solo con el fin de averiguar el nombre del encabezado. Las reglas de competencia eran terriblemente estrictas si no lo permitían. Si no puede tener una referencia, puede intentar encontrar el directorio donde se encuentran los archivos de cabecera de la biblioteca estándar y enumerar el directorio; debería ser bastante obvio en la mayoría de los casos, ya que muchos de ellos simplemente se llaman después de la clase principal (por ejemplo, contenedor) – AndrzejJ

+0

Para la mayoría de los encabezados restantes, debe tener una idea bastante buena de lo que está en, por ejemplo, '' si lo ha usado con suficiente frecuencia, y si no lo ha hecho, probablemente no lo haga sin una referencia de todos modos. Como último recurso, puede, por supuesto, mirar y/o usar grep o cualquier herramienta de búsqueda de texto en el directorio con los encabezados de biblioteca estándar. – AndrzejJ

2

En Visual Studio, podría colocar todos los archivos de encabezado dentro del archivo de encabezado precompilado. Dado que este archivo está incluido en todos sus archivos, todos los lectores stl estarán disponibles en todas partes. Si todas las inclusiones en el archivo de encabezado precompilado son de librerías externas, entonces la precompilación debería acelerar los tiempos de compilación.

Cuestiones relacionadas