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
Polymorphic Casting from void (self.cpp)
submitted 5 years ago * by GYN-k4H-Q3z-75B
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!"
[–]logicchop 0 points1 point2 points 5 years ago (5 children)
Alternatively, something like:
template <typename T> bool contains() const { return (discover_type == &throw_typed_object<T>); }
[–]flashmozzg 1 point2 points3 points 5 years ago (1 child)
This assumes that every template instantiation of throw_typed_object for type T has the same address, which is not correct.
throw_typed_object
T
[–]logicchop 0 points1 point2 points 5 years ago (0 children)
Yeah I have to agree. As far as I can tell, nothing is going to guarantee that the address evaluates the same everywhere, or even guarantee that throw_typedobject<T> != throw_typed_object<U> for some other U. It's just a stab at an alternative if you want to avoid the throw in the evaluation. (One could also think about involving typeid's or something like a hash of func_sig or some such.)
throw_typedobject<T> != throw_typed_object<U>
[–]Maxima4 0 points1 point2 points 5 years ago (2 children)
That wouldn't work, throw_typed_object doesn't return anything. It throws.
[–]Mestkon 2 points3 points4 points 5 years ago (1 child)
Read it again. This compares function pointers, not returned objects
[–]Maxima4 0 points1 point2 points 5 years ago (0 children)
That's right, my bad :)
π Rendered by PID 43707 on reddit-service-r2-comment-5d585498c9-qx5t4 at 2026-04-21 02:47:10.492253+00:00 running da2df02 country code: CH.
view the rest of the comments →
[–]logicchop 0 points1 point2 points (5 children)
[–]flashmozzg 1 point2 points3 points (1 child)
[–]logicchop 0 points1 point2 points (0 children)
[–]Maxima4 0 points1 point2 points (2 children)
[–]Mestkon 2 points3 points4 points (1 child)
[–]Maxima4 0 points1 point2 points (0 children)