-
Stay up-to-date with everything C++! Content directly fetched from the subreddit just for you. Join our group for discussions : @programminginc Powered by : @r_channels
Learning fundamentals with C++.
Hi,
I am an experienced programmer, but have mostly written production code in higher level languages. The most I have experienced with C++ was during my undergrad days for one year (13 years ago). I want to dive deep into lower level programming. Please let me know what projects and where should I start? Are there open source smaller projects that I can begin with and move onto bigger projects? I recently read the book CODE, and now I want to dive into programming.
https://redd.it/1ku3ek5
@r_cpp
Compressing int values to the smallest possible space
I am working on a drone project using esp32 boards. Where one board is a controller and the other one is the drone. I am sending a variable for each direction of each analog stick on the controller as number values plus a packet number. Wich makes for 5 uint8t vars. I need each packet to be as small as possible to increase range and latency i saw something called bitpacking wich is about shoving multiple values to one variable. I dont understand this concept so need your help please. What i want to have is one variable with values ranging from 0 to 100 another 3vars ranging from 0 to 50. Any idea on how i could put all those values in the smallest possible place and could they fit in a single uint16t?
https://redd.it/1ktq4z9
@r_cpp
Visualizing entire Chromium include graph
https://blog.bkryza.com/posts/visualizing-chromium-include-graph/
https://redd.it/1ktda45
@r_cpp
Is banning the use of "auto" reasonable?
Today at work I used a map, and grabbed a value from it using:
auto iter = myMap.find("theThing")
I was informed in code review that using auto is not allowed.
The alternative i guess is:
std::unordered_map<std::string, myThingType>::iterator iter...
but that seems...silly?
How do people here feel about this?
I also wrote a lambda which of course cant be assigned without auto (aside from using std::function). Remains to be seen what they have to say about that.
https://redd.it/1kt5pts
@r_cpp
What's your favorite part about working in c++?
For me personally, it's the sheer freedom and control it gives you. I've yet to have the language tell me "no, that's not allowed" and I think it makes things a lot more enjoyable. Feels like you get to really think about your solutions and how to make them work best for you.
What's your favorite part?
https://redd.it/1ksy6ax
@r_cpp
Rust Devs Think We’re Hopeless; Let’s Prove Them Wrong (with C++ Memory Leaks)!
https://www.babaei.net/blog/rust-devs-think-we-are-hopeless-lets-prove-them-wrong-with-cpp-memory-leaks/#a-_crtdumpmemoryleaks-demonstration
https://redd.it/1kkhgsy
@r_cpp
Can’t run my codes (cpp) on vs code in macbook
I am a beginner. Watched a couple of videos on YouTube but can’t run the cpp code on vs code. Its asking for ‘“ select a debug configuration “. Then after selecting one it says unable to perform this section because process is running.
I don’t know what to do, should I reset and do it again?
https://redd.it/1kka0ju
@r_cpp
Rust devs have the Borrow Checker, we have _CrtDumpMemoryLeaks() to hunt down Memory Leaks
https://youtu.be/mmUAdCzrdmQ
https://redd.it/1kjy1xo
@r_cpp
CForge v2.0.0-beta: Rust Engine Rewrite
CForge’s engine was originally created in Rust for safety and modern ergonomics—but with v2.0.0-beta, I've re-implemented the engine in native C and C++ for tighter toolchain integration, lower memory & startup overhead, and direct platform-specific optimizations.
**Why the switch?**
* **Seamless C/C++ integration**: Plugins now link directly against CForge—no FFI layers required.
* **Minimal overhead**: Native binaries start faster and use less RAM, speeding up your cold builds.
* **Fine-grained optimization**: Direct access to POSIX/Win32 APIs for platform tweaks.
**Core features you know and love**
* **TOML-based config** (`cforge.toml`) for deps, build options, tests & packaging
* **Smarter deps**: vcpkg, Git & system libs in one pass + on-disk caching
* **Parallel & incremental builds**: rebuild only what changed, with `--jobs` support
* **Built-in test runner**: `cforge test` with name/tag filtering
* **Workspace support**: `cforge clean && cforge build && cforge test`
**Performance improvements**
* **Cold builds** up to **50% faster**
* **Warm rebuilds** often finish in **<1 s** on medium projects
Grab it now 👉 [https://github.com/ChaseSunstrom/cforge/releases/tag/beta-v2.0.0\] and let me know what you think!
Happy building!
https://redd.it/1kjrt90
@r_cpp
Announcing Traeger 0.2.0, now with Rust bindings (and Python and Go).
Traeger is a portable Actor System written in C++ 17 with bindings for Python, Go and now Rust.
https://github.com/tigrux/traeger
The notable feature since version 0.1.0 is that it now provides bindings for Rust.
The Quickstart has been updated to show examples in the supported languages.
https://github.com/tigrux/traeger?tab=readme-ov-file#quick-start
For version 0.3.0 the plan is to provide support for loadable modules i.e. to instantiate actors from shared objects.
https://redd.it/1kjlcds
@r_cpp
IDK whether I should post this here But I got tired of typing #include <vector> so I wrote a C++ tool that does it for me. Now I can blame myself more efficiently.
https://github.com/Ashind-byte/BlameMySelf.hpp
https://redd.it/1kjg9em
@r_cpp
First C++ project
https://github.com/HIGGS317/Tov_cpp
https://redd.it/1kjbt0z
@r_cpp
Started C++, have no idea how to start
as title say, i have no idea what is the appropriate way to start c++, as I want to learn programming in practical way. Currently I am reading C++ Primer book on the Basics. but now I want to create something but can't figure out how. Can anyone provide an resource that provide practical use of c++.
https://redd.it/1kj83o0
@r_cpp
Accelerating Your Inner Loop with Visual Studio and GitHub Copilot
https://youtu.be/rub8BEZwC28
https://redd.it/1kinb3x
@r_cpp
Does this look professional?
Hi everyone,
I'm trying to learn on my own how "corporate-coding" should be done. I'm very interested in learning the best practices for modularity, efficiency while respecting the SOLID principles. I had a C++ course during university but none of the modern C++ logic was actually tought (coding style, etc).
I'm learning by myself moving semantics + OOP.
In order to improve, by having a scientific background, I'm creating a small C++ library (supposed to be expandable) for resolving partial differential equations.
You can find the link to my repo here: **PDE\_SOLVER**
I'm here to learn any advice from you. I know some other OOP which could come handy on such library, as Builder pattern and Facede Pattern for making it more easy to use (let the library to the major of the initializations you see on main.cpp).
Am I using moving semantic right? Did I get it?
Thanks!
https://redd.it/1kifeyx
@r_cpp
Converting 8digit integers without lookup table ,only by 6 multiplies
https://github.com/Mjz86/String/blob/main/integer_conv.md
https://redd.it/1ktsiaq
@r_cpp
What was our "Ohhhh, I understand it now" moment in C++ ?
Hey guys, I'm student in game development, and I've been studying C and C++ for 2 years now, for me, my "I understand it now" moment was with multithreading, I did not know nor understood how multithreading worked until I started making a mutilplayer game and had to deal with it for making client/server comunication, and it was awesome! What was yours ?
https://redd.it/1kti8aj
@r_cpp
Need suggestion.
Hey there,
Can anyone suggest me the best way to handle the below scenario.
I used to initilize some data (prerequisites like check file was exists or open the db handle etc.., ) in constructor which is used in member function.
If something went wrong in initilizing the data in constructor. Need to return the error.
Approach 1: pass the dword as reference in constructor arg and get the error code.
Approach 2: raise an exception.
Approach 3: check prerequisites at starting of member function at return the error while accessing the member function.
Using cpp 17
Thanks in Advance.
https://redd.it/1kt91z6
@r_cpp
Owning and non-owning C++ Ranges // Hannes Hauswedell
https://hannes.hauswedell.net/post/2025/05/17/non-owning-range/
https://redd.it/1ksyzs7
@r_cpp
Cpp interview on smart pointers for straight 1 hour
I got an interview for a mid level position as a dev. Today I gave the interview and the whole interview was :
Give your introduction (5 min)
Smart pointers (55 minutes)
In the beginning I was asked to explain each and why it is used. Later I was given a problem and was asked to identify the problems in the code.
In the beginning of the interview, it was smooth but eventually i blew it during debugging the code.
i forgot the key functions such as lock and expired, which interviewer helped me a bit and I was able to solve his query.
I didn't know the reason why make_unqiue is used which was really a easy answer.
He was not satisfied but I may get next round of interview.
There was also mixed question of array of function pointers, which was cancelled due to end of interview.
Very unexpected, I was waiting for him to change the topic till end.
https://redd.it/1kkn59s
@r_cpp
An Interesting tool to improving your coding skills
https://github.com/airtucha/codepass
This tool evaluates the maintainability of code and provides recommendations.
https://redd.it/1kk9933
@r_cpp
SwedenCpp 0x36: Intro, event host presentation, info - and a (slightly embarrassing) quiz question
https://youtu.be/C-tZVyN1q1U
https://redd.it/1kjyzg1
@r_cpp
Making a Game without Framework
only using windows.h going good right now but is there anyone that has already done it? How was it? How long did it take you?
https://redd.it/1kjwf0r
@r_cpp
First Year CPP Programming Projects
# 200+ hands-on C++ programs covering fundamentals, OOP, Data Structures, and STL — from university first-year coursework
https://github.com/Hussamalibrahim/First-Year-CPP-Programming-Projects.git
https://redd.it/1kjo922
@r_cpp
Meaning of C/C++ dawned on me after reading ICU sources
This weekends I was trying to make ICU translate messages via its resource bundle functionality. After some attempts and fruitless feeding on ICU reference documentation, I said myself: "I'm a grown up man, if the docs don't help, I know *The Way*".
And so that's how I ended up diving into this respectable codebase. I can't say it's too bad, although I did find this pearl
for (commonDataIndex = isICUData ? 0 : -1;;) {
But that's not important. While carelessly browsing these mostly C sources back and forth for a couple of hours, it dawned on me. This is the fabled C/C++, that's so often mentioned on job adverts! It does exist!
Basically you have a solid C codebase, but then for one reason or another you add a bit of C++ flavor here and there. You can't use exceptions (haram), you add error codes to C++ constructors (!), you diligently mention that if you want that sweet ABI compatibility you better use the C interface. In the end you have C with extra C++ API to top it or C++ that's written mostly in C style, with gotos and a lot of strcpy. Isn't it C/C++?!
Just a showerthought.
(For reference, I couldn't get what they want to pass as the first argument to `ures_open`: a vague abstract keyword as advertised in the docs or file path that's firmly rooted in the real world.)
https://redd.it/1kjelyx
@r_cpp
C++ Modules Myth Busting
https://www.youtube.com/watch?v=F-sXXKeNuio
https://redd.it/1kje5dx
@r_cpp
Making function call complex to protect license check in main()
I’m building a C++-based CLI tool and using a validateLicense() call in main() to check licensing:
int main(int argc, char argv) {
LicenseClient licenseClient;
if (!licenseClient.validateLicense()) return 1;
}
This is too easy to spot in a disassembled binary. I want to make the call more complex or hidden so it's harder to understand or patch.
We’re already applying obfuscation, but I want this part to be even harder to follow. Please don’t reply with “obfuscation dont works” — I understand the limitations. I just want ideas on how to make this validation harder to trace or tamper with.
https://redd.it/1kjadwv
@r_cpp
Looking for C++ Hobby Project Ideas: Performance-Intensive
Hi r/cpp,
I’m a C++ developer working full-time on a large C++ project that I absolutely love.
I spend a ton of my free time thinking about it, adding features, and brainstorming improvements. It’s super rewarding, but I don’t control the project’s direction and the development environment is super restrictive, so I’m looking to channel my energy into a personal C++ hobby project where I have 100% control and can try out newer technologies.
Problem is: creativity is really not my forte. So I come to you for help.
I really like performance-intensive projects (the type that make the hardware scream) —that comes not from feature bloat, but rather from the nature of the problem itself. I love diving deep into performance analysis, optimizing bottlenecks, and pushing the limits of my system.
So, here are the traits I’m looking for, in bullet points:
- Performance-heavy: Problems that naturally stress CPU/GPU (e.g., simulations, rendering, math-heavy computations).
- CUDA-compatible: A project where I can start on CPU and later optimize with CUDA to learn GPU programming.
- Analysis-friendly: Something where I can spend time profiling and tweaking performance (e.g., with NVIDIA Nsight or perf).
- Solo-scale: Something I can realistically build and maintain alone, even if I add features over months.
- "Backend focused": it can be graphics based, but I’d rather not spend so much time programming Qt widgets :)
I asked Grok and he came up with these ideas:
- A ray tracer
- A fractal generator
- A particle system
- A procedural terrain generator
I don’t really know what any of those things are, but before I get into a topic, I wanted to ask someone’s opinion. Do you have other suggestions? I’d also love to hear about:
- Tips for learning CUDA as a beginner in a hobby project.
- Recommended libraries or tools for performance-heavy C++ projects.
- How you manage hobby coding with a full-time job.
Thanks in advance for any ideas or advice! Excited to start something new and make my hardware cry. 😄
https://redd.it/1kj6nxf
@r_cpp
Use Brace Initializers Everywhere?
I am finally devoting myself to really understanding the C++ language. I came across a book and it mentions as a general rule that you should use braced initializers everywhere. Out of curiosity how common is this? Do a vast majority of C++ programmers follow this practice? Should I?
https://redd.it/1kik584
@r_cpp
Constexpr optional and trivial relocation
https://quuxplusone.github.io/blog/2025/05/08/siren-song-2-optional/
https://redd.it/1kicv53
@r_cpp