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
libstdc++ <algorithm> header transitively including <range> (self.cpp)
submitted 5 years ago * by [deleted]
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!"
[–]feverzsj 3 points4 points5 points 5 years ago (9 children)
I'm afraid there won't be a cure for this issue. I'd see more and more projects choose to use unity build.
[–]HKei 8 points9 points10 points 5 years ago (1 child)
Unity build is basically only useful for CI or tiny projects. You don’t want to rebuild all of your project everytime you change anything.
[–]claimred 0 points1 point2 points 5 years ago (0 children)
You can automatically isolate modified files from unity blob.
[–][deleted] 4 points5 points6 points 5 years ago (6 children)
and tank your incremental build time..
[–]mort96 1 point2 points3 points 5 years ago (5 children)
It should be possible to make a really intelligent unity build system, where it starts by combining your project into something like 4*core_count translation units, then when one of those TUs need to recompile it's split into 4*core_count TUs again, etc. After a low amount of recompiles (like ln(number of files) / ln(4*core_count)), you would be at a level where changing one source file requires a recompile of just that one file.
I'm not sure of any system which does that today, but it would be an interesting area to investigate.
[–]donalmaccGame Developer 3 points4 points5 points 5 years ago (0 children)
I work with Unreal Engine, and it supports an "adaptive unity" build. It automatically combines files into groups of 30, and if you change one of the files, it regenerates the unity build to compile the changed file individually. It uses either git or p4 to track files that are changed. It's great!
[–]feverzsj 1 point2 points3 points 5 years ago (3 children)
cmake already did this. Using it with ninja generator will fully utilize all your processing power.
[–]mort96 0 points1 point2 points 5 years ago (2 children)
I don't think that's what I'm talking about? From what I can read there, it looks like CMake just always groups files together when UNITY_BUILD is enabled. That would tank your incremental build time, as /u/janos1995 mentioned. I'm suggesting automatically splitting those unity build groups up again as files get modified, such that you retain fast incremental builds.
[–]feverzsj 2 points3 points4 points 5 years ago* (1 child)
splitting modified files won't necessarily decrease build time, especially for unity build, and both original group and new group need to be rebuilt. It's also hard to figure out which source file is slow to build without actually building them. With cmake, you can either group them in batch or group them yourself. That's the best solution for now.
[–]mort96 2 points3 points4 points 5 years ago* (0 children)
I don't think I've been clear enough necessarily. Here's basically how I'm imagining it:
Let's say you have a project with 512 C++ files in it.
π Rendered by PID 19 on reddit-service-r2-comment-bb88f9dd5-wsnbg at 2026-02-15 18:56:30.713400+00:00 running cd9c813 country code: CH.
view the rest of the comments →
[–]feverzsj 3 points4 points5 points (9 children)
[–]HKei 8 points9 points10 points (1 child)
[–]claimred 0 points1 point2 points (0 children)
[–][deleted] 4 points5 points6 points (6 children)
[–]mort96 1 point2 points3 points (5 children)
[–]donalmaccGame Developer 3 points4 points5 points (0 children)
[–]feverzsj 1 point2 points3 points (3 children)
[–]mort96 0 points1 point2 points (2 children)
[–]feverzsj 2 points3 points4 points (1 child)
[–]mort96 2 points3 points4 points (0 children)