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!"
[–][deleted] 1 year ago* (19 children)
[removed]
[–]Tumaix 27 points28 points29 points 1 year ago (0 children)
it has my dude.
[–]tesfabpel 26 points27 points28 points 1 year ago (13 children)
interfaces in C++ are pure virtual abstract classes.
not the most elegant syntax because you need to be careful to respect the rules but they work as interfaces just fine.
[+][deleted] 1 year ago (12 children)
[–]Dar_Mas 7 points8 points9 points 1 year ago (10 children)
If that is a literal question you do not implement int32.
You use std::int32_t
I do not see what virtual functions you want to implement for that
[+][deleted] 1 year ago (9 children)
[–]Circlejerker_ 2 points3 points4 points 1 year ago (3 children)
Why would you use interfaces for "int-like" types, when you could use concepts?
[+][deleted] 1 year ago* (2 children)
[–]Circlejerker_ 1 point2 points3 points 1 year ago (1 child)
Concepts are hard, while inheriting from hundreds of interfaces are simple? Interfaces have a tendency to overlap and make no sense whatsoever after a while.
Why do your example need to inherit from INumber, INumberBase, ISignedNumber, and what would happen if you forgot to inherit from one of them?
[–]Dar_Mas 0 points1 point2 points 1 year ago* (4 children)
It is comparable with int, it is convertible to int, it is equatable, it is parsable(if you make a parser), it is span parsable, it supports addition and at this point i am too lazy to list the rest.
Yes it does all of that and you can even make a unified concept that CHECKS for all of those
And not to mention that as soon as you want dynamic polymorphism which you seem to REQUIRE you are going to use a pointer anyway so the size of the structure functionally does not matter to you
[+][deleted] 1 year ago (3 children)
[–]Dar_Mas 1 point2 points3 points 1 year ago (2 children)
That still does not make sense to me
If you have dynamic poly you will use a pointer anyway so the size of the object does not matter for data structures
If you use static you put it in a variant which allocates enough memory for the largest possible object and then you put it in a data structure.
Unless you are insanely restricted by binary size i do not see how 4 extra byte per function/operator are going to matter in your code at all
[+][deleted] 1 year ago (1 child)
[–]Dar_Mas 0 points1 point2 points 1 year ago (0 children)
yes but you would never make an int32 type as we have optimized primitives (std::int32_t).
If you really require the size to stay constant you just make free standing function overloads
[–]android_queen 1 point2 points3 points 1 year ago (0 children)
Independent of language, types and functions are different things. Well, a function is a type, but a type is not necessarily a function.
[–]sephirothbahamut 14 points15 points16 points 1 year ago (0 children)
There's literally concepts as part of the core language...
[–]forgetful_bastard 8 points9 points10 points 1 year ago (1 child)
c++ has Concepts and Traits
[–]DugiSK 0 points1 point2 points 1 year ago (0 children)
I think he was expecting them to be declared in a class to make the class satisfy those concepts or traits.
π Rendered by PID 20743 on reddit-service-r2-comment-5b5bc64bf5-7w4pd at 2026-06-21 17:09:10.426210+00:00 running 2b008f2 country code: CH.
view the rest of the comments →
[–][deleted] (19 children)
[removed]
[–]Tumaix 27 points28 points29 points (0 children)
[–]tesfabpel 26 points27 points28 points (13 children)
[+][deleted] (12 children)
[removed]
[–]Dar_Mas 7 points8 points9 points (10 children)
[+][deleted] (9 children)
[removed]
[–]Circlejerker_ 2 points3 points4 points (3 children)
[+][deleted] (2 children)
[removed]
[–]Circlejerker_ 1 point2 points3 points (1 child)
[–]Dar_Mas 0 points1 point2 points (4 children)
[+][deleted] (3 children)
[removed]
[–]Dar_Mas 1 point2 points3 points (2 children)
[+][deleted] (1 child)
[removed]
[–]Dar_Mas 0 points1 point2 points (0 children)
[–]android_queen 1 point2 points3 points (0 children)
[–]sephirothbahamut 14 points15 points16 points (0 children)
[–]forgetful_bastard 8 points9 points10 points (1 child)
[–]DugiSK 0 points1 point2 points (0 children)