1. std::ios::sync_with_stdio(false);
- C 표준 stream과 C++ 표준 stream의 동기화를 하지 않는다.
- 기본적으로 모든 표준 stream들은 동기화되어 있다.
그래서 C와 C++의 입출력방식을 자유롭게 사용할 수 있다.
- 동기화를 하지 않는다면 C++의 stream들은 독립적인 버퍼를 갖게 되며,
C와 C++의 입출력방식을 혼용해서 쓰는 것이 굉장히 위험해진다.
- 동기화된 C++의 stream은 thread-safe 하다.
(다른 thread의 output이 동시에 액세스해도 충돌하지 않는다.)
- 동기화를 하지 않으면 사용하는 버퍼의 수가 줄어들기 때문에 실행 속도 자체는 향상된다.
2. cin.tie(NULL)
- cout << "hi";
cin >> name;
의 순서는 원래 "hi"가 출력되고 name을 입력받는다.
- 하지만 cin.tie(NULL)을 한다면 입력부터 먼저 하게 된다.
'Language > C++' 카테고리의 다른 글
[C++] 컴파일 / 런타임 / 논리 오류 (0) | 2020.12.15 |
---|---|
[C++] 전처리기 (0) | 2020.12.13 |
[C++] 얕은 복사와 깊은 복사 (0) | 2020.12.13 |
[C++] 스마트 포인터 (0) | 2020.12.13 |
[C++] 가상함수 (0) | 2020.12.13 |