Namespaces
Variants

std:: cin, std:: wcin

From cppreference.net
< cpp ‎ | io
헤더 파일에 정의됨 <iostream>
extern std:: istream cin ;
(1)
extern std:: wistream wcin ;
(2)

전역 객체 std::cin std::wcin 은 구현 정의 타입( std::streambuf 에서 파생됨)의 스트림 버퍼로부터의 입력을 제어하며, 표준 C 입력 스트림 stdin 과 연결되어 있습니다.

이러한 객체들은 std::ios_base::Init 타입의 객체가 생성되는 첫 번째 시점 동안 또는 그 이전에 초기화됨이 보장되며, 순서화된 초기화 를 가진 정적 객체들의 생성자와 소멸자 내에서 사용 가능합니다 (단, 객체가 정의되기 전에 <iostream> 가 포함되어 있는 경우에 한함).

sync_with_stdio ( false ) 가 호출되지 않은 경우, 서식화된 입력과 비서식화된 입력 모두에 대해 여러 스레드에서 이러한 객체들을 동시에 안전하게 접근할 수 있습니다.

초기화된 후:

1) std :: cin . tie() & std:: cout 를 반환합니다. 이는 std::cin 에서의 모든 입력 연산이 출력 대기 중인 문자가 있을 경우 std:: cout . flush() 호출을 강제한다는 것을 의미합니다.
2) std :: wcin . tie ( ) & std:: wcout 를 반환합니다. 이는 std::wcin 에 대한 모든 입력 연산이 출력 대기 중인 문자가 있을 경우 std:: wcout . flush ( ) 호출을 강제한다는 것을 의미합니다.

참고 사항

이름의 "c"는 "문자(character)"를 의미합니다( stroustrup.com FAQ ); cin 은 "문자 입력(character input)"을 의미하며 wcin 은 "와이드 문자 입력(wide character input)"을 의미합니다.

예제

#include <iostream>
struct Foo
{
    int n;
    Foo()
    {
        std::cout << "n 입력: "; // flush 불필요
        std::cin >> n;
    }
};
Foo f; // static 객체
int main()
{
    std::cout << "f.n은 " << f.n << '\n';
}

가능한 출력:

Enter n: 10
f.n is 10

참고 항목

표준 스트림 객체를 초기화함
( std::ios_base 의 public member class)
표준 C 출력 스트림에 기록함 stdout
(전역 객체)
입력 스트림과 연관된 FILE * 타입의 표현식
출력 스트림과 연관된 FILE * 타입의 표현식
에러 출력 스트림과 연관된 FILE * 타입의 표현식
(매크로 상수)