Comment by jjmarr
10 hours ago
Open the C++ example up and the first thing I see:
```cpp std::cout << "Received ReportCoordinateFrameSettings" << std::endl; ```
Generally, I've heard `std::endl` instead of \n has bad performance because it forces the statement to print immediately. And because cout is guaranteed to flush anyways when the program ends, you're adding a delay for no reason.
I wonder if there's something I'm not seeing that led to them adopting this rule. e.g. "abnormal program termination" caused by the weapon blowing itself up circumventing a buffer flush?
This seems like an incredibly unimportant quibble... I would imagine they just used std::endl b/c that's what most random tutorials used in the 2000s and that's how the engineer learned. If you are printing a debug string, you probably don't care that much about perf in the first place.
Ask yourself, would a newbie make that mistake ?
I was wondering if it's a hard real-time constraint or something to ensure consistent timing.
The modern C++ idiom is std::println() anyways...
https://en.cppreference.com/cpp/io/println
For a long time, std::endl demonstrated that you were a proper C++ programmer, not some neckbeard C apologist. It wasn’t until C++ had „won“ that it became acceptable to use \n again.
> And because cout is guaranteed to flush anyways when the program ends, you're adding a delay for no reason.
I mean... If your command line utility doesn't print anything til it's done, that is going to be, _at best_, an annoying user experience.
Cool I did not know that.
Your comment is a bit salty, but I learned something from it, so I don’t think you deserve the downvotes