작성
·
272
1
(19:30 )에서 설명하신 ‘n’과 ‘endl’의 차이가 잘 이해되지 않아 스택오버플로우에 검색해봤는데요
The only difference is that std::endl flushes the output buffer, and ‘n’ doesn’t.
endl은 버퍼에 있는 걸 모두 쏟아내고 n은 그렇지 않다고 해서 (13:10)에 있는 코드로 실험해보았습니다.
char c;
cin >> c;cout << c << " " << static_cast<int>(c) << endl;
cin >> c;
cout << c << " " << static_cast<int>(c) << endl;
cin >> c;
cout << c << " " << static_cast<int>(c) << endl;
cin >> c;
cout << c << " " << static_cast<int>(c) << endl;
cin >> c;
cout << c << " " << static_cast<int>(c) << "\n" ;
cin >> c;
cout << c << " " << static_cast<int>(c) << "\n";
cin >> c;
cout << c << " " << static_cast<int>(c) << "\n";
cin >> c;
cout << c << " " << static_cast<int>(c) << "\n";
생각대로라면 각각 abcd를 입력했을 때,
endl 에서는 이후의 입력없이 각각 97 98 99 100이 출력되고
n에서는 버퍼가 없으니까, 97이 출력되고 다시 입력받고 할 줄 알았는데 아니더군요 ㅠ
제가 완전히 잘못 생각하고 있는 건가요? 아직 n과 endl의 차이를 모르겠습니다…