Our great sponsors
- Mergify - Updating dependencies is time-consuming.
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- SonarCloud - Analyze your C and C++ projects with just one click.
-
Text-Based Minesweeper
-
The current de-facto standard build system for C++ is CMake so in theory if you were to write a library then most people would be able to consume it if you use that and at some point you will encounter it so knowing a bit about it is useful. However CMake also has several downsides, the major one being the terrible, ugly, and clunky shit syntax. The tutorials/documentation situation is also not really good, there's tons of legacy shit still in CMake which shouldn't be used anymore and finding out the "sane" (well, saner, nothing is truly sane in CMake) parts can be quite a bit of work. Though that really only matters for when you are doing a bit more advanced stuff (especially install rules), for programs like this it's like 3-5 lines in any build system and the CMake for that is straightforward. So while you should learn some CMake (and again, for most of your programs the CMake part will be small and trivial so it's really not that bad) especially for executables you might want to check out saner build systems like Meson.
-
Mergify
Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.
-
Magic Enum C++
Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code
While I can understand the sentiment behind that it makes for a poor solution because people seeing the enum will assume it's a valid entry. A better solution is to use something like magic enum for that case.