티스토리 뷰

학습자료

TIP) C++의 endl 함수를 쓰면 느린 이유

알 수 없는 사용자 2016. 7. 20. 23:51

이런 경우 있습니다.


백준을 풀다가 시간초과가 나서, 더 이상 줄일 방법을 못찾겠어서

cout << endl 

개행 함수를 아래처럼 수정했는데 통과가 되었습니다.

cout << "\n"




왜 그런가 하면,

C++ endl vs "\n"에 차이점이 하나 있습니다

endl 함수는 개행만 해주는것이 아니라 내부 버퍼를 비워주는 역할도 함께하기 때문에 매우 느립니다.

내 코드가 비쥬얼스튜디오에서 돌아가고, 예외가 없는 코드에, 더 속도를 줄일 방법이 없다면,

endl 만 '\n' 으로 바꿔도 정답이 뜰 확률이 높습니다.




참고 http://stackoverflow.com/questions/213907/c-stdendl-vs-n

결론 c++쓰면서 입출력은 C 스타일로 지향합시다.

댓글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크