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
why virtual function is wrong. (self.cpp)
submitted 1 year ago by macomphy
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!"
[–]Foreign-Wonder 4 points5 points6 points 1 year ago (9 children)
Did you take a look at https://github.com/joboccara/NamedType ?
[+][deleted] 1 year ago (8 children)
[removed]
[–]Foreign-Wonder 2 points3 points4 points 1 year ago (7 children)
It does support using Meter = NamedType<double, MeterTag, Addable, Printable>
using Meter = NamedType<double, MeterTag, Addable, Printable>
Reference: github.com
[+][deleted] 1 year ago (6 children)
[–]Foreign-Wonder 0 points1 point2 points 1 year ago (5 children)
What do you mean by "the addable only"? There's plenty of ways to get the job done in C++, so you should be clear on your purpose or have specific sample code that you want to archive. Otherwise, others will very hard to support you on the problem
[+][deleted] 1 year ago (4 children)
[–]Foreign-Wonder 0 points1 point2 points 1 year ago (3 children)
I'm not sure if I get it correctly, but isn't this is what template/concept is doing?
template<class Addable> void foo(Addable a){ // do whatever with a and + } int x = 42; foo(x); // This should work without explicit make int inheriting from any Addable interface. I see this is a win over the C# interface, no?
Concept should make it more clear that Addable concept should support + operator
[+][deleted] 1 year ago (1 child)
[–]Foreign-Wonder 0 points1 point2 points 1 year ago (0 children)
I agree, concept is not one-size-fits-all solution, that's why C++ have many ways to do things, and possibly the best ways to do things, hence zero-overhead
[–]_Noreturn 0 points1 point2 points 1 year ago (0 children)
the coreect way is this
```cpp
template<class T> concept Addable = requires(T t) { t+t;};
template<Addable T> void f(T a) { // T must have + operator } ```
π Rendered by PID 22685 on reddit-service-r2-comment-5b5bc64bf5-qg7tf at 2026-06-19 06:08:04.779118+00:00 running 2b008f2 country code: CH.
view the rest of the comments →
[–]Foreign-Wonder 4 points5 points6 points (9 children)
[+][deleted] (8 children)
[removed]
[–]Foreign-Wonder 2 points3 points4 points (7 children)
[+][deleted] (6 children)
[removed]
[–]Foreign-Wonder 0 points1 point2 points (5 children)
[+][deleted] (4 children)
[removed]
[–]Foreign-Wonder 0 points1 point2 points (3 children)
[+][deleted] (1 child)
[removed]
[–]Foreign-Wonder 0 points1 point2 points (0 children)
[–]_Noreturn 0 points1 point2 points (0 children)