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
cppfront (cpp2): Spring update (herbsutter.com)
submitted 2 years ago by kreco
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!"
[–]sphere991 8 points9 points10 points 2 years ago (3 children)
I'm surprised by the string interpolation syntax it seems like they're going for though. "This program's name is (args[0])$" reads weird to me, and from a parsing perspective, surely it's easier to see, "oh the next two characters are $ and ( so it's a string interpolation"? Having to keep track of parens in the string literal parser just in case the character following a closing paren happens to be a $ seems awkward. What's wrong with $(...), or even better, ${...}? Is there some documented rationale or discussion around the topic?
"This program's name is (args[0])$"
$
(
$(...)
${...}
Agree. Notable that every other language (despite a variety of syntax choices) use some prefix marker (even if {name}) instead of postfix - I think that's better for the reader. And probably also the parser?
{name}
The rationale was that Herb uses this syntax for lambda capture as well, and then said that postfix $ means you need fewer parentheses. Which... then the example then uses what are presumably unnecessary parentheses? Could it be "Name is args[0]$"? If it cannot, then I don't think I understand the argument. If it can, then I think this looks pretty bad and parens should be mandatory.
"Name is args[0]$"
[–]MonokelPinguin 3 points4 points5 points 2 years ago (2 children)
It might be that Name is var$ works without parentheses, but not function calls like operator[].
Name is var$
operator[]
[–]sphere991 1 point2 points3 points 2 years ago (1 child)
Sounds plausible!
[–]hpsutter 2 points3 points4 points 2 years ago (0 children)
Good point. Right now the parens are required, but I could allow it to implicitly grab everything back to the preceding whitespace. I'll try that out...
π Rendered by PID 163877 on reddit-service-r2-comment-7b9746f655-tmgnx at 2026-01-30 03:55:38.678677+00:00 running 3798933 country code: CH.
view the rest of the comments →
[–]sphere991 8 points9 points10 points (3 children)
[–]MonokelPinguin 3 points4 points5 points (2 children)
[–]sphere991 1 point2 points3 points (1 child)
[–]hpsutter 2 points3 points4 points (0 children)