반응형
줄넘김 문자를 출력할 때 c++에서는 endl 과 \n 의 두 가지 선택지가 있다. 둘 중 무엇이 더 빨리 출력이 될까?
정답은 \n이다. 왜냐하면 std 내부에 정의되어 있는 endl을 보면 다음과 같다.
1
2
3
4
5
6
|
basic_ostream<_Elem, _Traits>& __CLRCALL_OR_CDECL endl(
basic_ostream<_Elem, _Traits>& _Ostr) { // insert newline and flush stream
_Ostr.put(_Ostr.widen('\n'));
_Ostr.flush();
return _Ostr;
}
|
cs |
마지막에 보면 flush() 함수가 있다. 간단히 말하면, 버퍼를 비우는 동작이 endl 안에 포함되어 있기 때문에, 시간이 느린 것이다.
알고리즘 문제를 풀 경우에는 endl을 자제하도록 하자.
반응형
'프로그래밍 언어 > C C++' 카테고리의 다른 글
size_t 는 무엇일까? (0) | 2021.05.28 |
---|---|
C언어 메모리 누수 확인하기 (0) | 2021.05.19 |
gcc 를 이용해 c언어 간단히 컴파일하기 (0) | 2021.03.23 |
main 함수에 입력 변수 설정하기 (0) | 2021.03.03 |
C언어로 계산식을 이용한 원주율(파이) 구하기 (0) | 2019.06.03 |