std::endl와 \n의 차이

김민수·2025년 1월 9일

C++

목록 보기
47/68

1. endl의 동작 원리

std::cout << "Hello" << std::endl;
  • 추가로 버퍼를 비우는(flush) 작업을 수행해서 줄바꿈한다.
  • 버퍼를 비운다는 것은 출력 버퍼에 쌓여 있는 데이터를 즉시 출력 장치(콘솔)로 내보내는 작업을 의미한다.


2. \n의 동작 원리

std::cout << "Hello\n";
  • \n은 단순히 줄바꿈만 수행한다.
  • 버퍼를 비우지 않기 때문에, endl보다 더 효율적이다.


3. endl 사용 시기

  • 출력 버퍼를 즉시 비워야 할 때 사용한다.
    • 예를 들어, 디버깅 시 출력 결과를 실시간으로 확인하고 싶을 때 유용하다.
  • 프로그램이 오류로 강제 종료될 가능성이 있을 때, 출력 버퍼에 남아 있는 내용이 사라질 수 있으므로 endl을 사용하여 버퍼를 비운 후 출력하는 것이 좋다.


4. \n 사용 시기

  • 반복적인 출력이 필요한 경우, \n을 사용하는 것이 더 효율적이다.
    • 예: 파일 출력, 반복문을 통한 다량의 콘솔 출력
profile
안녕하세요

0개의 댓글