Namespaces
Variants

std:: cin, std:: wcin

From cppreference.net
< cpp ‎ | io
Definido en el encabezado <iostream>
extern std:: istream cin ;
(1)
extern std:: wistream wcin ;
(2)

Los objetos globales std::cin y std::wcin controlan la entrada desde un búfer de flujo de tipo definido por la implementación (derivado de std::streambuf ), asociado con el flujo de entrada estándar de C stdin .

Se garantiza que estos objetos se inicialicen durante o antes de la primera vez que se construye un objeto de tipo std::ios_base::Init y están disponibles para su uso en los constructores y destructores de objetos estáticos con inicialización ordenada (siempre que se incluya <iostream> antes de que se defina el objeto).

A menos que se haya emitido sync_with_stdio ( false ) , es seguro acceder concurrentemente a estos objetos desde múltiples hilos tanto para entrada formateada como no formateada.

Una vez inicializado:

1) std :: cin . tie() devuelve & std:: cout . Esto significa que cualquier operación de entrada en std::cin fuerza una llamada a std:: cout . flush() si hay caracteres pendientes para salida.
2) std :: wcin . tie ( ) devuelve & std:: wcout . Esto significa que cualquier operación de entrada en std::wcin fuerza una llamada a std:: wcout . flush ( ) si hay caracteres pendientes para salida.

Notas

La "c" en el nombre se refiere a "carácter" ( stroustrup.com FAQ ); cin significa "character input" y wcin significa "wide character input".

Ejemplo

#include <iostream>
struct Foo
{
    int n;
    Foo()
    {
        std::cout << "Ingrese n: "; // no flush needed
        std::cin >> n;
    }
};
Foo f; // static object
int main()
{
    std::cout << "f.n es " << f.n << '\n';
}

Salida posible:

Enter n: 10
f.n is 10

Véase también

inicializa objetos de flujo estándar
(clase miembro pública de std::ios_base )
escribe al flujo de salida estándar de C stdout
(objeto global)
expresión de tipo FILE * asociada con el flujo de entrada
expresión de tipo FILE * asociada con el flujo de salida
expresión de tipo FILE * asociada con el flujo de salida de error
(constante macro)