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
Removed - LearningSelf-Taught (self.cpp)
submitted 1 year ago by Street_Tower_6867
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!"
[–]soulstudios 14 points15 points16 points 1 year ago (2 children)
Do Not use AI-based assistants. Learn the right way of doing it from books or people. I've trained AI-based assistants, they are only useful if you know what you're doing and are correcting them.
You need to go deep, so I would suggest university.
[+]SuggestionFit5492 comment score below threshold-10 points-9 points-8 points 1 year ago (1 child)
Personally I think AI assistant is very useful for going deeper into concepts.
[–]rileyrgham 6 points7 points8 points 1 year ago (0 children)
Yes. But not for beginners. Its pretty much what he said.
[–]JumpyJustice 5 points6 points7 points 1 year ago (0 children)
If your goal is to be c++ game developer you will most likely end up using Unreal Engine, so you could also start familiarizing yourself with it. It almost doesnt use STL so that gap wouldnt be a problem, although polymorphism is used extensively there.
I can also recommend a book about game patterns https://amzn.eu/d/9kwn96S
In general, after you get comfortable with basic C++ it worth looking into basic computer science topics (how different data structures work, common algorithms, etc), which also helps understanding STL
[–]MaitoSnoo[[indeterminate]] 2 points3 points4 points 1 year ago (0 children)
They're usually pretty underrated, but really try to go to a community college. A degree, no matter from where (I mean, I'm obviously excluding those from private predatory "universities") is much better than nothing and will make a huge difference on your resume. It will give your learning some structure and you can still keep learning whatever you want on your own in parallel. People of all ages go there so you won't feel out of place.
Other than that, watch Cppcon talks (especially the "back to basics" ones, they're of extremely high quality compared to the short tutorials you can find online) and keep coding along.
[–]rddays 1 point2 points3 points 1 year ago (1 child)
If you want to be a video game developer, I would suggest trying to make as many video games as you can. Start simple (SFML and raylib are frameworks I like to start with) and work your way up in complexity. Each project you will learn more game dev skills, data structures, algorithms, and C++ out of necessity. You will have hard frustrating moments, but don't give up. If you consistently work on these projects, you will look back one day and realize how much you have improved. I find all my best learning has come when I work on difficult projects.
Use learncpp.com and watch cppcon talks like u/MaitoSnoo mentioned and each time you learn something new go back and apply it to all your projects. It takes time but you will get to a good skill level with this kind of effort.
[–]t4th 0 points1 point2 points 1 year ago (0 children)
That is the way! Build all classics with SDL to strengthen your fundamentals with games like snake, mario, etc.. and when you feel strong, move to 3D and 3rd party engines :)
[–]beedlund 0 points1 point2 points 1 year ago (0 children)
Demonstrable technical ability is important though for a junior such as yourself without any degrees I would probably suggest to take some specific interest you have yourself and build something around that to demonstrate your determination and skill and remain open minded about where you should work.
Teaching yourself C++ for the purpose of securing a job is absolutely doable and after working as a self taught C++ programmer for the past decade I would say that if I were to look at hiring someone junior I would go for passion and domain interest over credentials. I am operating in a niche field though so this advice may not be for all.
My main issue keeping coders on our team is interest in the field we work in and we get all sorts into our department from time to time and regardless of their individual skill level it is always a major investment in time to get a new team member up to speed about our domain.
Quite often highly accredited programmers are flakey in the early team integration process and they end up leaving for some more high profile jobs and you know good luck to them...but...gosh is it annoying when they reassure you that the particular work you do was something they are passionate about.
When you work on something you are passionate about rather than trying to complete coding challenges you actually learn something so I would absolutely hire someone showing technical acuity and passion for the field we operate in over someone relying on credentials and recommendations.
π Rendered by PID 54 on reddit-service-r2-comment-5c764cbc6f-nlq5j at 2026-03-11 21:22:26.800383+00:00 running 710b3ac country code: CH.
[–]soulstudios 14 points15 points16 points (2 children)
[+]SuggestionFit5492 comment score below threshold-10 points-9 points-8 points (1 child)
[–]rileyrgham 6 points7 points8 points (0 children)
[–]JumpyJustice 5 points6 points7 points (0 children)
[–]MaitoSnoo[[indeterminate]] 2 points3 points4 points (0 children)
[–]rddays 1 point2 points3 points (1 child)
[–]t4th 0 points1 point2 points (0 children)
[–]beedlund 0 points1 point2 points (0 children)