반응형

main함수의 맨 위에 다음 세 줄을 적어주면, cin, cout과 같은 입출력 스트림 사용 시 시간을 좀 더 단축할 수 있다.

하지만, n의 크기가 커지면 입출력으로 인한 시간 단축은 별로 의미가 없을 수 있다는 점을 알아두자.

ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);

ios_base::sync_with_stdio(false)는 C++ 스트림과 C 스타일 스트림 간의 동기화를 비활성화 해준다.

이렇게하면 C++ 스트림과 C 스타일 스트림이 각각 독립적으로 작동하며 데이터가 교차되지 않는다.

cin.tie(NULL)cout.tie(NULL)는 C++ 스트림의 버퍼와 C 스타일 스트림 간의 결합도를 제거한다.

tie(NULL)은 출력 스트림의 버퍼와 입력 스트림의 버퍼를 연결하지 않도록 설정한다.

따라서 불필요한 교차로 인해 발생하는 시간을 줄일 수 있으므로, 적은 양의 데이터를 이용하는 프로그램에서는 유용할 수 있다.

하지만, 교차가 필요한 경우에는 예기치 못한 상황이 발생할 수 있으니, 사전에 꼭 확인하고 사용하여야 한다.

 

반응형

+ Recent posts