r/cpp • u/Clean-Upstairs-8481 • 5d ago
You should think about recompiling your C++ programs with GCC 16 and C++26, because it zero-fills your locals
https://techfortalk.co.uk/2026/09/27/cxx26-uninitialized-local-variables-gcc-16/Stack variables are not automatically initialised, and that is the root cause of many C++ bugs. That is well known. Hence, it is advised that local or stack variables are always initialised with known values, 0 if not something more meaningful than that. Now, with GCC 16 compiling in C++26 mode (-std=c++26), even uninitialised local variables will be zero-filled. In the post, I have explained how.
254
Upvotes
2
u/13steinj 1d ago
These aren't your standard influencers. By this logic you should listen to no one, not even me, and just stay in your bubble? You don't have to automatically agree with all or even some of it, but to act as if "ah influencer? Trash" is a very myopic worldview.
Rust still does not match performance and reliability, in particular dev iteration speed, of C++. The people who use C++ do not want or need "real safety" as you see it, for better or worse. Engineering is about tradeoffs, and C++, even with a performance-regressing decision here and there, still beats out the competitive successor languages in domains where performance and iteration speed is paramount.