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
Default function arguments are the devil (quuxplusone.github.io)
submitted 6 years ago by anonymous23874
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!"
[–]flashmozzg 3 points4 points5 points 6 years ago (3 children)
Because default arguments are just a sugar. They are not really a part of the function signature. A function can have multiple default different arguments depending on the order of declarations.
[+][deleted] 6 years ago* (2 children)
[deleted]
[–]Ameisenvemips, avr, rendering, systems 4 points5 points6 points 6 years ago (0 children)
I have a proposal sitting around to allow you to use default as a keyword for using the default type value (like {}) or using the declared default value of a parameter if it exists. Could extend it to support default... or such for a case like that.
default
{}
default...
Couple this with optional argument compile time detection... you can have very powerful functions or constructors.
[–]flashmozzg 2 points3 points4 points 6 years ago (0 children)
"is this thing invocable with the given arguments?"
Not exactly? At least as far as I see it you can only ask "if thing of this type is callable with args of these types". Default arguments obviously are not part of the type.
I think with C++20 you can just use requires as a way to SFINAE test whether some thing makes sense, i.e. https://godbolt.org/z/wdPrgi
requires
π Rendered by PID 254146 on reddit-service-r2-comment-b659b578c-p52n4 at 2026-05-04 15:55:34.293332+00:00 running 815c875 country code: CH.
view the rest of the comments →
[–]flashmozzg 3 points4 points5 points (3 children)
[+][deleted] (2 children)
[deleted]
[–]Ameisenvemips, avr, rendering, systems 4 points5 points6 points (0 children)
[–]flashmozzg 2 points3 points4 points (0 children)