4 ms·
Open the C++ example up and the first thing I see: ```cpp std::cout << "Received ReportCoordinateFrameSettings" << std::endl; ``` Generally, I've heard `std::
by jjmarr 10d 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?
- aftbit 10d agoThis 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.
- jjmarr 10d agoI was wondering if it's a hard real-time constraint or something to ensure consistent timing.
- MiroslavPokorny 10d agoAsk yourself, would a newbie make that mistake ?
- __d 10d agoFor 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.
- gavinray 10d agoThe modern C++ idiom is std::println() anyways... https://en.cppreference.com/cpp/io/println https://en.cppreference.com/cpp/io/println
- niemandhier 10d agoCool 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
- rsynnott 10d ago> 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.
- harrouet 10d ago> cout is guaranteed to flush anyways when the program ends This is not always true in the case the program crashes. I've had case where `std::endl` was necessary.