반응형
for문을 사용할 때는, 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간 초과가 날 수 있다.
이때 'std::ios_base::sync_with_stdio(fasle)' 또는 'ios::sync_with_stdio(false)'를 사용하여 속도를 높여줄 수 있다.
기본적으로 C++의 iostream은 C의 stdio와 동기화 되어 있다.
이로 인해 iostream과 stdio의 버퍼를 모두 사용하게 된다.
std::ios_base::sync_with_stdio(false)로 iostream과 stdio의 동기화를 끊어주게 되면,
C++만의 버퍼를 사용하게되고 버퍼의 수가 줄어들게 되면서 속도가 높아질 수 있다.
하지만 동기화를 끊어주었기 때문에 scanf, printf, puts, getchar, putchar 등 C 입출력 방식은 사용할 수 없다.
반응형
'C++' 카테고리의 다른 글
[C++] 입력 종료 판별 (0) | 2020.05.12 |
---|---|
[C++] 입력: std::cin.tie(NULL); (0) | 2020.05.05 |
[C++] struct tm {}; (0) | 2020.03.29 |
[C++] localtime() (0) | 2020.03.25 |
[C++] STL std::sort(begin, end, compareFunction) (0) | 2020.03.07 |