¿Por qué no debería #incluir ?

Publiqué una pregunta con mi código cuya única directiva #include era la siguiente:

 #include  

Mi maestra me dijo que hiciera esto, pero en la sección de comentarios me informaron que no debería hacerlo.

¿Por qué?

    Incluir parece ser algo cada vez más común en Stack Overflow, tal vez algo agregado recientemente a un plan de estudios nacional en el año académico actual.

    Imagino que las ventajas se dan vagamente así:

    • Solo necesita escribir una línea #include
    • No necesita buscar en qué encabezado estándar está todo

    Desafortunadamente, este es un hack perezoso, nombrando un encabezado interno de GCC directamente en lugar de encabezados estándar individuales como , y . Arruina la portabilidad y fomenta hábitos terribles.

    Las desventajas incluyen:

    • Probablemente solo funcione en ese comstackdor
    • No tiene idea de lo que hará cuando lo use, porque sus contenidos no están establecidos por un estándar
    • Incluso si acaba de actualizar su comstackdor a su propia versión puede romper su progtwig
    • Cada encabezado estándar debe analizarse y comstackrse junto con su código fuente, que es lento y resulta en un ejecutable voluminoso bajo ciertas configuraciones de comstackción

    No lo hagas!


    Más información:

    Ejemplo de por qué Quora es malo:

    ¿Por qué? Porque se usa como si se suponía que fuera un encabezado estándar de C ++, pero ningún estándar lo menciona. Entonces su código no es portátil por construcción. No encontrará ninguna documentación en http://cppreference.com. Por lo tanto, podría no existir. Es un producto de la imaginación de alguien 🙂