Esto es de la <iostream>
:¿Cómo funciona extern en C++?
namespace std
{
extern istream cin; ///< Linked to standard input
extern ostream cout;
...
Parece utilizando extern
los tipos de datos definidos en otros espacios de nombres sólo va a estar disponible?
Pero no encuentro ningún lugar que defina 'cin', solo' istream' se define en '' –
symfony
'cin' es un objeto de tipo' istream'. 'istream' es la definición de clase (en este caso, clase de plantilla). 'cin' es una instancia de la clase' istream'. La "definición" a la que me refiero en mi respuesta es la definición de 'cin', no' istream'. Necesita buscar el significado de * definition * vs. * declaraion *. Las declaraciones en sus ejemplos son * declaraciones *. –
La * definición * de la variable 'cin' es más probable en una biblioteca en tiempo de ejecución. No lo encontrará en los archivos de encabezado de biblioteca estándar. –