C++을 이용하여 문제를 풀 때 종종 시간을 초과하는 문제가 이 3개 구문 추가로 간단하게 해결될 때가 있다.
ios::sync_with_stdio(false);
C의 stdio와 C++의 iostream의 동기화 비활성화, C++ 독립 버퍼 사용으로 수행 속도가 빨라지는 효과가 발생한다.
cin.tie(NULL);
cout.tie(NULL);
하나로 묶인 두 스트림을 푼다.
기본적으로 cin, cout은 하나로 묶였는데, 이것은 한 스트림이 다른 스트림에서 각 IO 작업을 진행하기 전 자동으로 버퍼를 비워주는 것을 보장한다.
특히 cin을 수행하기 전 기본적으로 cout 출력 버퍼를 지우는 작업을 수행하는데, 이 작업을 생략하기 때문에 속도가 빨라지는 효과가 있다.
위의 문구는 멀티스레드 환경이나 화면 출력 부분에서 의도와 다르게 동작할 수 있기 때문에 실제 프로젝트나 시스템 구축 시에 잘 사용하는 구문은 아니다.
다만, 코딩 테스트 환경은 싱글스레드 환경이 대부분이며 화면 출력을 고려하지 않기 때문에 속도 향상을 위해 이 구문을 사용한다고 이해하면 좋다.