C++ cin, cout 입출력 속도 높이기 본문
일반적으로 cin과 cout은 printf, scanf와 비교했을 때 속도가 현저히 느리다. 그냥 사용한다해도 이 차이로 시간초과가 발생하는 경우를 만나보지 못했고 cin과 cout이 훨씬 편하다고 느꼈기 때문에 그동안은 중요하지 않게 생각했다. 하지만 알고리즘 문제를 풀다가 이 차이 때문에 시간초과가 나는 경우를 만났다.
이 경우에 사용할 수 있는 방법이 있다. 자세한 내용은 아래 코드를 참고하자.
1 2 3 | ios_base :: sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); | cs |
※ endl보다 \n을 사용하는 것이 더 빠름
이 3줄을 추가해주는 것 만으로 cin과 cout의 속도를 높일 수 있다 ! 일종의 편법이지만 이 방법을 사용하면 C++ 입출력 속도를 가속할수 있다.
단, 주의해야할 점이 있다.
1. scanf, printf와 섞어 사용하지 말 것
2. 싱글 쓰레드 환경에서만 사용할 것 ( 실무에서 사용하지 말 것 )
이 방식도 통하지 않는 경우가 발생할 수도 있고 scanf, printf와 섞어서 사용할 경우 입출력이 코드 작성자가 원하지 않는 순서로 될 수도 있다. 그러니 웬만하면 scanf, printf를 사용하도록 하자.
출처 : http://eine.tistory.com/entry/CC-%EC%9E%85%EC%B6%9C%EB%A0%A5-%EB%B0%A9%EB%B2%95%EC%97%90-%EB%94%B0%EB%A5%B8-%EC%86%8D%EB%8F%84-%EC%A0%95%EB%A6%AC
이 3줄을 추가해주는 것 만으로 cin과 cout의 속도를 높일 수 있다 ! 일종의 편법이지만 이 방법을 사용하면 C++ 입출력 속도를 가속할수 있다.
단, 주의해야할 점이 있다.
1. scanf, printf와 섞어 사용하지 말 것
2. 싱글 쓰레드 환경에서만 사용할 것 ( 실무에서 사용하지 말 것 )
이 방식도 통하지 않는 경우가 발생할 수도 있고 scanf, printf와 섞어서 사용할 경우 입출력이 코드 작성자가 원하지 않는 순서로 될 수도 있다. 그러니 웬만하면 scanf, printf를 사용하도록 하자.
출처 : http://eine.tistory.com/entry/CC-%EC%9E%85%EC%B6%9C%EB%A0%A5-%EB%B0%A9%EB%B2%95%EC%97%90-%EB%94%B0%EB%A5%B8-%EC%86%8D%EB%8F%84-%EC%A0%95%EB%A6%AC
'C++' 카테고리의 다른 글
ps하다가 런타임에러가 나는 경우 ! (계속 업데이트) (0) | 2019.04.02 |
---|---|
stl vector / list / queue 속도 비교 (0) | 2019.04.01 |
C++에서 String 출력하기 (0) | 2019.01.25 |
_CRT_SECURE_NO_WARNINGS (0) | 2018.11.30 |
Comments