<bits/stdc++.h> en C++

Básicamente es un archivo de encabezado que incluye todas las bibliotecas estándar. En concursos de programación, usar este archivo es una buena idea, cuando se quiere reducir el tiempo perdido en hacer tareas; especialmente cuando su rango es sensible al tiempo. 
En los concursos de programación, la gente se enfoca más en encontrar el algoritmo para resolver un problema que en la ingeniería de software. Desde la perspectiva de la ingeniería de software, es una buena idea minimizar la inclusión. Si lo usa, en realidad incluye una gran cantidad de archivos, que su programa puede no necesitar, por lo que aumenta innecesariamente el tiempo de compilación y el tamaño del programa. 
Desventajas de bits/stdc++ 
 

  • bits/stdc++.h es un archivo de encabezado no estándar de la biblioteca GNU C++. Entonces, si intenta compilar su código con algún compilador que no sea GCC, podría fallar; por ejemplo, MSVC no tiene este encabezado.
  • Usarlo incluiría muchas cosas innecesarias y aumentaría el tiempo de compilación.
  • Este archivo de encabezado no forma parte del estándar C++ y, por lo tanto, no es portátil y debe evitarse.
  • Además, incluso si hubiera algún encabezado general en el estándar, desearía evitarlo en lugar de encabezados específicos, ya que el compilador tiene que leer y analizar cada encabezado incluido (incluidos los encabezados incluidos recursivamente) cada vez que se compila la unidad de traducción.

Ventajas de bits/stdc++ 
 

  • En concursos, usar este archivo es una buena idea, cuando se quiere reducir el tiempo perdido en hacer tareas; especialmente cuando su rango es sensible al tiempo.
  • Esto también reduce todas las tareas de escribir todos los archivos de encabezado necesarios.
  • No tiene que recordar todo el STL de GNU C++ para cada función que use.

Ejemplo : 

Por ejemplo, para usar la función sqrt() , en el archivo de encabezado <bits/stdc++.h> no necesitamos escribir el archivo de encabezado <cmath> en el código.

C++

#include <bits/stdc++.h>
using namespace std;
 
int main() {
 
    cout << sqrt(25);
    return 0;
}
 
//Compilation time 0.005s
//Code submitted by Susobhan AKhuli
Producción

5

Pero si usamos el archivo de encabezado <iostream> , tenemos que escribir el archivo de encabezado <cmath> para ejecutar la función sqrt(); de lo contrario, el compilador muestra que ‘ sqrt ‘ no se declaró en este ámbito.

C++

#include <iostream>
#include <cmath>
using namespace std;
 
int main() {
 
    cout << sqrt(25);
    return 0;
}
 
//Compilation time 0.003s
//Code submitted by Susobhan AKhuli
Producción

5

Por lo tanto, el usuario puede usarlo y ahorrar el tiempo de escribir cada inclusión o ahorrar el tiempo de compilación al no usarlo y escribir los archivos de encabezado necesarios. 

Este artículo es una contribución de Ayush Govil . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. 
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *