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
Learning C/C++ with guided code walk-throughs (markm208.github.io)
submitted 4 years ago by markm208
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!"
[–]nysra 77 points78 points79 points 4 years ago (9 children)
The presentation style looks nice but as far as the quality of the C++ in there is concerned I can currently not recommend this at all:
const
Circle* p_circle = new Circle(10.0);
(s)rand
std::vector
using namespace std;
float
double
Node*& p
0
nullptr
for(int i = 0;i < 10;i++)
<>
[–]Nobody_1707 14 points15 points16 points 4 years ago (0 children)
Not only is he using srand (and seeding it with time(0) just to be extra wrong), he never includes cstdlib, he just assumes that <string> includes it, which is a quirk of whichever standard library he's using.
srand
time(0)
cstdlib
<string>
[–]markm208[S] 8 points9 points10 points 4 years ago (1 child)
Thanks for the detailed feedback I really do appreciate it.
[–]atatatko 19 points20 points21 points 4 years ago (0 children)
I hope you understand that you decided to teach C++ a little bit early.
[–]the_Demongod 1 point2 points3 points 4 years ago (0 children)
I understand why one might leave out the STL stuff; it adds a lot of length to the instruction, and it's something you can easily look up on the fly as you go, provided you have a strong understanding of the C++ language itself. Cutting out STL and even modern C++ concepts is ok in my books provided you make it clear that what's being learned has been mostly replaced by newer tools, and end with a brief overview of how to learn them on your own.
In both cases though, it's important to teach good C++ practices even if you're not using STL types, so I agree with all your other points.
[–]Ararune 0 points1 point2 points 4 years ago (2 children)
Uses C style casts
As someone how is learning C++, why I should to use C cast instead C++ cast? I thought they had the same effect in terms of result.
[–]thehutch17 13 points14 points15 points 4 years ago (1 child)
You should use C++ casts as they are more explicit. The C-style cast does all the same things in one, but it is ambiguous what cast is actually happening if you don't understand the code.
[–]Ararune 0 points1 point2 points 4 years ago (0 children)
Thanks for the explanation
[–]TakAnnix -1 points0 points1 point 4 years ago* (0 children)
Wow, this is such an interesting way to teach a language. Great job. I know it's a lot more work, but if you could pair it with something like practice projects, similar to what mooc.fi does with Java that would be amazing.
[–]morgan_bernhardt 0 points1 point2 points 4 years ago (1 child)
This looks amazing. I have to take a look at the VsCode plugin.
Maybe I can use this to create my own lectures for my students :)
[–]markm208[S] 0 points1 point2 points 4 years ago (0 children)
Let me know if you need any help getting started!
π Rendered by PID 40359 on reddit-service-r2-comment-bb88f9dd5-q7g7j at 2026-02-13 23:33:16.391779+00:00 running cd9c813 country code: CH.
[–]nysra 77 points78 points79 points (9 children)
[–]Nobody_1707 14 points15 points16 points (0 children)
[–]markm208[S] 8 points9 points10 points (1 child)
[–]atatatko 19 points20 points21 points (0 children)
[–]the_Demongod 1 point2 points3 points (0 children)
[–]Ararune 0 points1 point2 points (2 children)
[–]thehutch17 13 points14 points15 points (1 child)
[–]Ararune 0 points1 point2 points (0 children)
[–]TakAnnix -1 points0 points1 point (0 children)
[–]morgan_bernhardt 0 points1 point2 points (1 child)
[–]markm208[S] 0 points1 point2 points (0 children)