반응형
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)은 출력 스트림의 버퍼와 입력 스트림의 버퍼를 연결하지 않도록 설정한다.
따라서 불필요한 교차로 인해 발생하는 시간을 줄일 수 있으므로, 적은 양의 데이터를 이용하는 프로그램에서는 유용할 수 있다.
하지만, 교차가 필요한 경우에는 예기치 못한 상황이 발생할 수 있으니, 사전에 꼭 확인하고 사용하여야 한다.
반응형
'언어 > C++' 카테고리의 다른 글
[c++] printf 출력문에서 소수점 조정 출력 방법 (0) | 2023.12.10 |
---|---|
[c++] pair vector, vector sort 개념 정리 (0) | 2023.11.03 |
[c++] <iomanip> 헤더에 정의된 setprecision으로 소수점 반올림하기 (0) | 2023.11.01 |
[c++] 2차원 배열 동적 할당 시 유의할 점 (0) | 2023.11.01 |
[오류모음] 프로그래머스 LV1 <달리기 경주> c++ (0) | 2023.08.31 |