this post was submitted on 05 Apr 2025
164 points (95.6% liked)

Programmer Humor

34850 readers
495 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 16 points 3 days ago (2 children)

The same is true of std::endl. std::endl is simply defined as << '\n' << std::flush; nothing more, nothing less. In all cases where endl gives you a "properly translated" newline, so does \n.

[–] [email protected] 6 points 3 days ago (1 children)

Ahhh, I see. Looks like the magic happens somewhere further down in iostream.

[–] [email protected] 3 points 3 days ago

It's controlled by whether the stream's opened in text mode or binary mode. On Unix, they're the same, but on Windows, text mode has line ending conversion.

[–] [email protected] 2 points 3 days ago

Yeah it's an artificial dichotomy based on a popular misconception of what std::endl is and how \n is interpreted.

Ultimately it does not ask about line endings, but about flushing, which is a completely orthogonal question.