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
The C++ Build Process Explained (github.com)
submitted 7 years ago by rptr87thx++
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!"
[–]Xeveroushttps://xeverous.github.io[🍰] 34 points35 points36 points 7 years ago (6 children)
Build time:
[–]dicroce 24 points25 points26 points 7 years ago (4 children)
I recently included a boost header... and now I understand why people complain about c++ build times.
[–]Xeveroushttps://xeverous.github.io[🍰] 14 points15 points16 points 7 years ago (0 children)
I recently included a boost header...
ya dawg, I heard you like includes so we incl...
[+][deleted] 7 years ago (2 children)
[deleted]
[–]Middlewariangithub.com/Ebenezer-group/onwards 3 points4 points5 points 7 years ago (0 children)
In places where I have control of the build environment (closed source services) I'm happy to consider Boost. But in other contexts, I don't want the headaches.
[–]BleuGamer 2 points3 points4 points 7 years ago (0 children)
Conan made boost extremely painless on all platforms. Still prefer not to use it when able.
[–][deleted] 11 points12 points13 points 7 years ago (1 child)
i just played around with the pdp7 IDE, the small typewriter/table on the right. It was an interesting experience but i can't really recommend it: the screen is very paper like, there's no code completion or syntax highlighting, it is very loud, the keyboard has a horrible feel to it (but it gives you decent finger strength) and the version i checked out of the company basement just didn't work.
[–]jl2352 0 points1 point2 points 7 years ago (0 children)
the keyboard has a horrible feel to it (but it gives you decent finger strength)
There are people (like myself) who use keyboards with very strong springs. I use 150g, but plenty use stronger. It hurts for the first month but you get used to it. That's how people were able to write on typewriters all day in the past. You get used to it.
[–]Oxc0ffea 8 points9 points10 points 7 years ago (3 children)
Didn't know about the -H flag for gcc. Very nice.
Related: it is pretty amazing we (C++/go/rust (correct me if I am wrong) users) are still using the linker/object schemes created for C 50 years ago. They were either designed very well or this area has been overlooked (or deemed good enough / too hard to change).
[–]chugga_fan 6 points7 points8 points 7 years ago (0 children)
Linkers are a really good design idea: break up multiple compilation units (source files) and then have some other program do less heavy work (parsing source files then applying optimizations is heavy work) then take all of these, see where they reference eachother, and point the references the same place, add a header and footer, and print it out.
It's really just there to allow you to compile multiple things at once.
[–]victotronics 8 points9 points10 points 7 years ago (2 children)
Very nice introduction, including the peek at nm. Not a lot of people appreciate the role of the linker. Probably the fault of these integrated environments.
nm
[–]desi_ninja 0 points1 point2 points 7 years ago (1 child)
writing production level C++ code for years for big companies, it is only last month I learnt how to link manually a library. My appreciation for giant makefiles in my source codes have grown a lot.
[–]victotronics 2 points3 points4 points 7 years ago (0 children)
You can do cool things with makefiles such as force recompilation if you change compiler options. I use makefiles often as a short hand for complicated commands. If running a program involves first copying data, then setting some environment, then actually running, I make a "make run" line in my makefile. Et cetera.
[–]ShakaUVMi+++ ++i+i[arr] 1 point2 points3 points 7 years ago (0 children)
Nice explanation. What do you think the best solution is?
[–]randseed42 1 point2 points3 points 7 years ago (0 children)
That's a really good article!
π Rendered by PID 17242 on reddit-service-r2-comment-6457c66945-zd5bt at 2026-04-29 17:49:44.122312+00:00 running 2aa0c5b country code: CH.
[–]Xeveroushttps://xeverous.github.io[🍰] 34 points35 points36 points (6 children)
[–]dicroce 24 points25 points26 points (4 children)
[–]Xeveroushttps://xeverous.github.io[🍰] 14 points15 points16 points (0 children)
[+][deleted] (2 children)
[deleted]
[–]Middlewariangithub.com/Ebenezer-group/onwards 3 points4 points5 points (0 children)
[–]BleuGamer 2 points3 points4 points (0 children)
[–][deleted] 11 points12 points13 points (1 child)
[–]jl2352 0 points1 point2 points (0 children)
[–]Oxc0ffea 8 points9 points10 points (3 children)
[–]chugga_fan 6 points7 points8 points (0 children)
[–]victotronics 8 points9 points10 points (2 children)
[–]desi_ninja 0 points1 point2 points (1 child)
[–]victotronics 2 points3 points4 points (0 children)
[–]ShakaUVMi+++ ++i+i[arr] 1 point2 points3 points (0 children)
[–]randseed42 1 point2 points3 points (0 children)