Algorithm
c++ 표준입출력 가속 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
asung123
2020. 3. 19. 22:21
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
코드는 c++에서 cin, cout 객체의 표준 입출력을 가속합니다.
하지만 thread의 싱크가 unsafe 해지므로 예상하지 못한 순서의 입출력이 나올 수 있습니다.
thread가 여러개인 환경에서는 위험하므로, 만약 현업에서 속도를 위해 사용한다면 printf, scanf,getchar등
c의 표준입출력 함수를 사용하길 바랍니다.
알고리즘 문제의 경우 싱글 스레드를 사용하기 때문에 위 코드를 그냥 써도 문제가 발생하지 않지만
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); 코드 작성후
cin,cout 객체와 printf,scanf를 혼합하여 사용할 경우 예상치 못한 순서로 입출력이 실행될 수 있습니다.
즉 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);를 사용하는경우 cin,cout객체와 c표준입출력을 혼용하지 맙시다!!