[C++] printf, scanf, "\n"와 cin, cout, endl의 속도 차이의 이유
알고리즘 문제를 풀다보면, 입출력이 빈번한 경우 cin, cout을 사용하기 전에 입출력 속도를 빠르게 하기 위해서
ios::sync_with_stdio(false);와 cin.tie(0);을 작성하여 쓰는 것을 볼 수 있다.
실제로 printf, scanf와 거의 차이가 없을 정도로 속도가 향상된 것을 볼 수 있다.
이유는 이 함수 내부에서 입출력을 포함하여 버퍼를 'flush' 해주기 때문에 그렇다.
마찬가지의 이유로 줄바꿈을 나타낼 때 endl 대신에 "\n"을 사용하여 속도를 향상 시키자.
ios::sync_with_stdio(false);와 cin.tie(0);을 작성하여 쓰는 것을 볼 수 있다.
실제로 printf, scanf와 거의 차이가 없을 정도로 속도가 향상된 것을 볼 수 있다.
이유는 이 함수 내부에서 입출력을 포함하여 버퍼를 'flush' 해주기 때문에 그렇다.
마찬가지의 이유로 줄바꿈을 나타낼 때 endl 대신에 "\n"을 사용하여 속도를 향상 시키자.
댓글
댓글 쓰기