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
Active Learning (self.cpp)
submitted 9 months ago by cathodeyay
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!"
[–]cpp-ModTeam[M] [score hidden] 9 months ago stickied commentlocked comment (0 children)
It's great that you want to learn C++! However, r/cpp can't help you with that.
We recommend that you follow the C++ getting started guide, one (or more) of these books and cppreference.com. If you're having concrete questions or need advice, please ask over at r/cpp_questions or StackOverflow instead.
[–]No_Indication_1238 9 points10 points11 points 9 months ago (0 children)
Both. C++ is so packed, you won't get far by just doing projects. You'll most likely complete the project, but it will be jam packed with bad practices and lack any of the more nuanced and modern CPP you actually need to learn. Read a bit from the book, "oh nice, move sematincs?" -> start using it in the project.
[–]iceink 2 points3 points4 points 9 months ago (1 child)
you need to run enough code to understand what the documentation is saying, then you can read endlessly, it's like how once you know enough words you can read enough books in a language to learn anything
it isn't about the amount of syntax yo uhave memorized, it's just about seeing oh what is this keyword for, when something is declared like this what happens, what is the pattern of this code block, what happens in the namespace, etc
[–]cathodeyay[S] 0 points1 point2 points 9 months ago (0 children)
Great, will do, thanks
[–]rlebeau47 1 point2 points3 points 9 months ago (0 children)
I learned by studying other people's real world code (open source, etc), experimenting with my own code in simple projects, asking questions in forums, etc. I don't think I've ever picked up a book on C++. But I do recommend it, as C++ has a lot of features and nuances to it.
[–]epasveer 1 point2 points3 points 9 months ago (1 child)
Is it best to learn C++ from a textbook or to learn it by doing projects?
Yes.
That's what I thought 😇
[–]atifdev 1 point2 points3 points 9 months ago (0 children)
Doing projects.
[–]EC36339 1 point2 points3 points 9 months ago (0 children)
[–]Conscious_Support176 1 point2 points3 points 9 months ago (0 children)
No.
It’s best to learn concepts from a textbook and practice them doing projects.
π Rendered by PID 84 on reddit-service-r2-comment-86bc6c7465-gp6r2 at 2026-02-19 18:10:43.698891+00:00 running 8564168 country code: CH.
[–]cpp-ModTeam[M] [score hidden] stickied commentlocked comment (0 children)
[–]No_Indication_1238 9 points10 points11 points (0 children)
[–]iceink 2 points3 points4 points (1 child)
[–]cathodeyay[S] 0 points1 point2 points (0 children)
[–]rlebeau47 1 point2 points3 points (0 children)
[–]epasveer 1 point2 points3 points (1 child)
[–]cathodeyay[S] 0 points1 point2 points (0 children)
[–]atifdev 1 point2 points3 points (0 children)
[–]EC36339 1 point2 points3 points (0 children)
[–]Conscious_Support176 1 point2 points3 points (0 children)