std::cin, std::wcin - cppreference.com
De cppreference.com
| Definido en el archivo de encabezado |
||
|
|
(1) | |
|
|
(2) | |
Los objetos globales std::cin y std::wcin controlan la entrada desde un búfer de flujo de datos de tipo definido por la implementación (derivado de std::streambuf), asociado con el flujo de entrada estándar de C: stdin.
Está garantizado que la construcción de estos objetos ocurra antes o durante el llamado al primer constructor de un objeto tipo std::ios_base::Init, y que esté disponible para su uso en los constructores y destructores de objetos estáticos con inicialización ordenada (siempre y cuando <iostream> sea incluido antes de que el objeto sea definido).
Es seguro acceder a estos objetos simultáneamente desde varios hilos, tanto para la entrada con formato como para la entrada sin formato, a menos que sync_with_stdio(false) haya sido emitido.
Una vez std::cin es construido, std::cin.tie() retorna &std::cout, y de la misma manera, std::wcin.tie() retorna &std::wcout. Esto significa que cualquier operación de entrada con formato en std::cin fuerza una llamada a std::cout.flush() si los caracteres están pendientes por salida.
Ejemplo
#include <iostream> struct Foo { int n; Foo() { std::cout << "Ingrese n: "; // no requiere flush std::cin >> n; } }; Foo f; // objecto estático int main() { std::cout << "f.n es " << f.n << '\n'; }
Salida:
Ver también
| Inicializa los objetos flujo estándar. (clase miembro pública de std::ios_base) [editar]
| |
| Escribe al flujo de salida estándar de C stdout. (objeto global) [editar] |