Diferencia entre cout y std::cout en C++

a Generalmente, cuando escribimos un programa en el sistema operativo Linux para el compilador G++, necesita el espacio de nombres «std» en el programa. Lo usamos escribiendo usando el espacio de nombres std; entonces podemos acceder a cualquiera de los objetos como cout, cin.

C++

// Program to show the use of cout
// without using namespace
  
#include <iostream>
int main()
{
    std::cout << "GeeksforGeeks";
    return 0;
}
Producción:

GeeksforGeeks

std:cout: un espacio de nombres es un espacio dentro del cual se define algo. Entonces, en ese caso, cout se define en el espacio de nombres estándar . Por lo tanto, std::cout indica que cout está definido en el espacio de nombres estándar, de lo contrario, se debe usar la definición de cout que se define en el espacio de nombres estándar . Entonces, ese std::cout se usa para la definición de cout del espacio de nombres estándar.

C++

// Program to show use of using namespace
  
#include <iostream>
using namespace std;
int main()
{
    cout << "GeeksforGeeks";
    return 0;
}
Producción:

GeeksforGeeks

¿Qué pasaría si no se usa «using namespace std» ni «std::» para cout?

C++

// Program without using
// using namespace std and std::
  
#include <iostream>
  
int main()
{
    cout << "GeeksforGeeks";
    return 0;
}

Error de compilación:

main.cpp: In function ‘int main()’:
main.cpp:5:2: error:
  ‘cout’ was not declared in this scope
  cout<<"GeeksforGeeks"<<endl;
  
main.cpp:5:2: note: suggested alternative:
In file included from main.cpp:1:0:
/usr/include/c++/7/iostream:61:18: note:   ‘std::cout’
   extern ostream cout;  /// Linked to standard output

¿Diferencia entre «usar espacio de nombres std cout» y «std::cout»?

En C++, cout y std::cout son iguales, pero hay algunas diferencias básicas a continuación:

S. No. cout estándar::cout
1. el espacio de nombres std debe usarse en el programa Sin usar el espacio de nombres std, debe usar std::cout.
2. cout es un objeto predefinido de la clase ostream se utiliza para imprimir los datos, así como los valores
3. Usando el espacio de nombres std; entonces podemos acceder a cualquiera de los objetos como cout, cin  sin usar std, pero si no usamos using namespace std; entonces deberíamos usar std::cout, etc. para evitar errores

Publicación traducida automáticamente

Artículo escrito por shivanisinghss2110 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 *