std::endl

std::endl (개행 + flush 조작자)

출력 시퀀스 os에 개행 문자를 삽입하고 flush하는 조작자예요. os.put(os.widen('\n')) 다음에 os.flush()를 호출한 것과 같아요. 출력 전용 I/O 조작자예요.

출처: cppreference

본문

<ostream> 헤더에 정의돼 있어요.

template< class CharT, class Traits >
std::basic_ostream<CharT, Traits>& endl( std::basic_ostream<CharT, Traits>& os );

출력 시퀀스 os에 개행 문자를 삽입하고, os.put(os.widen('\n')) 다음에 os.flush()를 호출한 것처럼 flush해요. 이 조작자는 출력 전용 I/O 조작자라, std::basic_ostream 타입의 out에 대해 out << std::endl 같은 표현식으로 호출할 수 있어요.

참고

이 조작자는 출력 줄을 즉시 만들어내는 데 쓰일 수 있어요. 예를 들어 오래 실행되는 프로세스의 출력을 표시하거나, 여러 스레드의 활동·프로그램이 곧 중단될 수 있는 상황을 로깅할 때 유용해요.

예제

#include <iostream>

int main()
{
    std::cout << "첫 줄" << std::endl;  // 개행 + flush
    std::cout << "둘째 줄\n";            // 개행만 (버퍼링)
}

더 알아보기 (Learn more)

cppreference