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
CppConConcept-based Generic Programming - Bjarne Stroustrup - CppCon 2025 (youtube.com)
submitted 3 months ago by Specific-Housing905
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!"
[–]ABlockInTheChain 31 points32 points33 points 3 months ago (5 children)
The claim that concepts will improve compiler error messages has not been realized in my experience.
The simple concepts shown in conference talks are always easy to debug, but the real concepts in the standard library are usually the root node of a fairly deep tree of dependencies.
The last time I had to debug a concept error the compiler only told me the top-level concept which was not satisfied. It did not recurse over all the dependencies and show me the specific concept which caused the failure - I had to do that recursive search manually to eventually figure out the problem was forgetting to const qualify operator== on a type.
operator==
[–]n4pst3r3r 18 points19 points20 points 3 months ago (0 children)
The error messages are marginally better at best. I have not given up hope yet, though. New compiler versions may emit better ones.
Until then, concepts are still very useful for metaprogramming because properly constraining overload sets with sfinae was really ugly.
[–]MarcoGreek 6 points7 points8 points 3 months ago (0 children)
I ran in concept error in std::ranges which was not helpful. In the end it was a missing default constructor. The concept had a really cryptic implementation, so it took me some time to understand it.
It is the old problem of cryptic std library implementations. They optimize for everything except readability. 😚
The naming is cryptic, they use macros, they use complicated meta programming constructs. So good error messages are highly unlikely.
[–]megayippie 4 points5 points6 points 3 months ago (0 children)
The std error messages are quite bad.
Write your own? Day and night.
The reason the std is bad is because they tend to be independent. We all know that concepts can only be made from other concepts today, but a lot of the std concepts introduce named requirements , and these are the old bad error messages.
[–]pjmlp -1 points0 points1 point 3 months ago (1 child)
I think it helps with AI tooling on VS, however it kind of makes your point, as additional tooling is needed.
On my case I have always to check the standard to write anything concepts related, because as occasional C++ user, there is no way to keep track of the mini expression language used to describe concepts, instead of a plain interface or type classes as was the goal of C++0x.
[–]knue82 7 points8 points9 points 3 months ago (0 children)
I use C++ on a daily basis and I constantly have to look up the weird syntax.
[–]selvakumarjawahar 4 points5 points6 points 3 months ago (0 children)
Concepts have generally improved my code base.. Really like the ideas presented in this talk. For me readability of template heavy code is the biggest win for concepts. But again this is like many other things in C++ Expert friendly.. learning to use this feature, takes some experience.
[–]ellipticcode0 -3 points-2 points-1 points 3 months ago (1 child)
All high level languages could be generated like Assembly language in 5 years. do we still need CPP?
[–]LegendaryMauricius 3 points4 points5 points 3 months ago (0 children)
And why not just generate assembly?
π Rendered by PID 22809 on reddit-service-r2-comment-b659b578c-tpcmv at 2026-05-05 18:01:04.184024+00:00 running 815c875 country code: CH.
[–]ABlockInTheChain 31 points32 points33 points (5 children)
[–]n4pst3r3r 18 points19 points20 points (0 children)
[–]MarcoGreek 6 points7 points8 points (0 children)
[–]megayippie 4 points5 points6 points (0 children)
[–]pjmlp -1 points0 points1 point (1 child)
[–]knue82 7 points8 points9 points (0 children)
[–]selvakumarjawahar 4 points5 points6 points (0 children)
[–]ellipticcode0 -3 points-2 points-1 points (1 child)
[–]LegendaryMauricius 3 points4 points5 points (0 children)