iostream
es el nombre del archivo donde se define cout. Por otro lado, std
es un espacio de nombres, equivalente (en cierto sentido) al paquete de java.
cout es una instancia definida en el archivo iostream
, dentro del espacio de nombres estándar.
Puede existir otra instancia cout
, en otro espacio de nombre. Por lo tanto, para indicar que desea utilizar la instancia cout
del espacio de nombres std
, debe escribir
std::cout
, indicando el alcance.
std::cout<<"Hello world"<<std::endl;
Para evitar la std::
todas partes, puede utilizar la cláusula using
.
cout<<"Hello world"<<endl;
Son dos cosas diferentes. Uno indica alcance, el otro hace la inclusión real de cout
.
En respuesta a tu comentario
imaginar que en iostream dos instancias con nombre cout
existen, en diferentes espacios de nombres
namespace std{
ostream cout;
}
namespace other{
float cout;//instance of another type.
}
Después de incluir <iostream>
, usted todavía tiene que especificar el espacio de nombres. La declaración #include
no dice "Oye, utiliza el comando cout in std ::". Para qué sirve using
, para especificar el alcance
@Neil Entonces, ¿cuál es el propósito de SO? ¿Para hacer solo preguntas que no tienen forma de ser respondidas leyendo un libro o buscando en Internet? –
@Neil Butterworth: ¡está bien! no más preguntas estúpidas después de esta, sin leer los conceptos de un libro. – Moeb
@Kevin Cualquiera que crea que puede aprender C++ haciendo preguntas sobre SO se está engañando a sí mismo y está perdiendo el tiempo. –