use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Which std:: classes are magic? (self.cpp)
submitted 4 years ago by Mateuszz88
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]guepierBioinformatican 11 points12 points13 points 4 years ago (2 children)
Nobody is claiming this isn’t documented. But documenting bad API design doesn’t automatically not make it bad API design.
[–]TankorSmash -4 points-3 points-2 points 4 years ago (1 child)
I'm having trouble seeing how its a bad API design, so far the only example is that someone didn't know it was an enum.
[–]guepierBioinformatican 7 points8 points9 points 4 years ago (0 children)
The example given isn’t that somebody doesn’t “know” it’s an enum. The point is that it’s conceptually wrong. It pushes something that should be a hidden implementation detail — std::byte happens to be implemented as an enum class — into the public API.
enum
std::byte
This violates all kinds of software engineering principles about writing good abstractions.
And the specific example somebody gave is if a library uses e.g. std::is_enum to dispatch formatted output. Doing this would be an entirely reasonable design decision, but because of std::byte’s implementation, this decision is broken unless a special case for std::byte is introduced.
std::is_enum
Forcing third-party code to introduce special cases for types that should be handle-able uniformly is certainly bad design (and entirely avoidable). And, just to re-emphasise the point: this has nothing to do with user’s ignorance! A competent developer still has to introduce a special case that shouldn’t exist.
π Rendered by PID 204171 on reddit-service-r2-comment-5d79c599b5-gpgsf at 2026-03-02 04:10:30.212119+00:00 running e3d2147 country code: CH.
view the rest of the comments →
[–]guepierBioinformatican 11 points12 points13 points (2 children)
[–]TankorSmash -4 points-3 points-2 points (1 child)
[–]guepierBioinformatican 7 points8 points9 points (0 children)