DY N DY

입출력 빠르게 받기 (C, C++) 본문

PARK/ALGORITHM TIPS

입출력 빠르게 받기 (C, C++)

손세지 2016. 10. 6. 13:47

보통 C, C++에서 입력 출력을 받을 때 

printf, scanf보다 cout, cin이 편하기 때문에(개인적으로 그럴지도...) 

처음에는 cout, cin을 사용하였으나 

printf, scanf에 비해 cout, cin(endl)은 상당히 느리다. 


이와 같은 현상에도 불구하고 cin, cout을 사용하고 싶다면

std::ios::sync_with_stdio(false)를 코드 초반부에 적어준 후에 cin, cout을 사용한다면 printf, scanf만큼 빠른 사용이 가능해진다. 


cin, cout이 C 라이브러리에서 stdio buffer와 싱크를 맞추다 보니 느려진다고 한다.

특히 endl같은 경우 위의 싱크와 상관없이 느린 출력의 주범이 된다고 하여 요즘에는 주로 printf, scanf를 사용한다. 



'PARK > ALGORITHM TIPS' 카테고리의 다른 글

기계적 최적화 하기  (0) 2016.10.18
배열 길이 정하기, for문(공통)  (0) 2016.09.29