Coding/궁금한 것들

cin.tie() / sync_with_stdio()

labote 2019. 9. 6. 18:32

cin.tie() -> cin, cerr 스트림과 cout 스트림이 묶여있기 때문에 입출력 동작을 하기 전에 출력 스트림 버퍼를 플러쉬하는데 이 묶여있는 것을 해제하기 위해 cin.tie(NULL)을 넣는다. 이렇게 하면 cin과 cout의 관계는 없게 된다. cout 버퍼를 따로 플러쉬해주어야 하지만 속도는 빨라진다.

 

sync_with_stdio() -> c++ 라이브러리 iostream과 c 라이브러리 stdio의 동기화를 키거나 끌 수 있게 해주는 함수. 한 가지만 쓸 경우 다른 라이브러리까지 불러오면 속도가 느려지므로 iostream 라이브러리만 쓸 경우 ios_base::sync_with_stdio(false)를 사용하여 stdio 라이브러리 동기화를 풀어 속도를 향상시킨다.