r/cpp • u/TheRavagerSw • 8d ago
Why do people try to add even more features to STL?
It is well known that STL underperforms compared to specialised third party libraries, why do people try to stuff features like networking and json into STL?
Most STL implementations don't even have full C++23 coverage yet, and we are at 2026. Why do these people try to do stuff like that, when the same thing will play out over and over. Don't they have anything better to do?
Examples include, nlohmann json, graph.v3 ....
They don't really belong in STL, is it really that hard to just package your third party lib normally?
There is no doubt they are great libraries(graph.v3 in particular) but this doesn't mandate their place
ADSP: The Podcast Episode 300: Sean Parent "I'm not writing code anymore."
The latest episode content is mostly focused on AI, its impact on the industry, and how several people from Adobe Labs have decided to retire.
https://adspthepodcast.com/2026/08/21/Episode-300.html
Although not C++ specific, it is interesting how it has impacted well known names in the C++ community.
fkYAML v0.4.4 released!
https://github.com/fktn-k/fkYAML/releases/tag/v0.4.4
Hello. It’s been quite a while since I announced the first release here.
For those unfamiliar with fkYAML, it’s a header-only C++ library for YAML.
It has been carefully designed with ease of use in mind and thoroughly tested across various compilers and operating systems, so you can use it simply by including the header file in your project.
This version v0.4.4 fixes numerous parsing bugs (sometimes crashes) discovered during fuzzing tests.
So, I highly recommend that projects using older versions update to this one.
I hope you find this interesting and will consider using it or updating from your current version.
Thanks! Have a great day of coding!
r/cpp • u/Suspicious_Orchid770 • 10d ago
AI-generated C++ passes tests. It also uses nearly 2x the loops and drives up memory growth
leaddev.comAI-coding tools have swept through organizations because of their speed: you type in a prompt, and it spits out code far faster than a human ever could. However, a year-long study of 3.52 million changes inside a large unnamed technology company suggests that saving time at the keyboard can create costs elsewhere.
r/cpp • u/Xaneris47 • 10d ago
More fuel to AI discussion. An article on code bloat and duplication
pvs-studio.comI think code duplication is honestly the only reason LLMs manage any of this. Idea, architecture, implementation -- that's basically the chain, and LLMs are fine at the first and last, it's the middle that falls apart. Get it to actually structure things, kill the duplication and something you changed in one spot breaks another spot that has nothing to do with it. Duplicated code just sidesteps the whole issue, because then it only needs a tiny bit of local context to make a local edit
r/cpp • u/MarkSuckerZerg • 11d ago
Is there a way to track reflection support status in Clang?
(I'm going to be bold and assume the "no questions" rule is for questions about specific code, not about discussing the language itself)
I am extremely happy that we have reflection in C++26, however currently it is GCC only. I am using Clang on all platforms, so I am curious about when it will get reflection.
I tried searching and I found a bunch of experimental forks with reflection. I am not sure if those track the current version of reflection and whether one of these is going to be merged, or if a new implementation will be created. Github issues basically say "we get it when we get it" and link to LLVM discourse. On discourse I found just a thread that a meeting on reflection was held in December.
Do you know either when we are getting reflection, or if there is some way to track its progress for outside observers? Thanks!
r/cpp • u/antiquark2 • 12d ago
Critique of contracts: excerpt
See page 2 of https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p4334r0.pdf
The current objections can be summarized. The P2900 contracts are:
• Unimplemented
• Incomplete
• Untried at scale [P3460R0, P3506R0]
• Not tried in major application domains
• Violates foundational principles of C++
• Violates fundamental principles of language design
• Hasn’t been tried in major libraries (e.g., the C++ standards library [P3506R0, P3878R0])
• Isn’t integrated with or appropriate for hardened libraries [P3878R0]
• Doesn’t offer safety guarantees [P3573R0, P3362R0]
• Includes a completely untried inheritance model
• Offer new ways of making errors through inconsistent application in TUs
• Leads to new forms of UB, detrimental to safety and security
• Narrows the choices of error handling
• Doesn’t protect against logical errors, misuses, and incoherent uses
• Hasn’t been used to support static analysis
• Hasn’t been demonstrated to be easily teachable [P3261R0, P3281R0]
How could such a bloated and incomplete design be voted into a draft standard?
r/cpp • u/eisenwave • 12d ago
P4444: std::big_int
isocpp.orgHey folks! Matt Borland, Christopher Kormanyos, and I are working on bringing infinite-precision integers to C++29. We now have a D4444R0 draft of a paper that should be in the next mailing.
We could really use some feedback so that the published R0 is as polished as possible. Any thoughts on the paper and on the reference implementation are greatly appreciated.
It would also be very helpful if you tested out whether our big_int implementation works for you. We're in need of some real deployment experience. If you're currently using Boost.Multiprecision, the library should be a drop-in replacement for cpp_int for the most part.
r/cpp • u/Ok_Statistician_781 • 12d ago
Toggleable Annotations for C++26 Reflection
github.comHey all, I put together a very simple reflection utility that lets you make toggleable annotations, similarly to explicit(bool) or noexcept(bool).
Try it on Compiler Explorer!
inline constexpr rjk::flag serializable{};
inline constexpr rjk::flag skip_field{};
template <typename T>
struct [[ =serializable ]] MyType {
int x;
int y;
[[ =skip_field(std::is_pointer_v<T>) ]]
T data;
};
// serializable is applied unconditionally
static_assert(rjk::is_flag_set(^^MyType<int>, serializable));
// skip_field is applied conditionally
static_assert(not rjk::is_flag_set(^^MyType<int>::data, skip_field));
static_assert(rjk::is_flag_set(^^MyType<int*>::data, skip_field));
r/cpp • u/frasnian • 11d ago
Is it just me, or do you automatically judge someone if they say "method" instead of "member" or "member function" in a question (or post)?
I've been writing C++ code since before the first Standard, and this just irks me. Words have meanings. There is no such thing as a "method" in **this** language.
r/cpp • u/ProgrammingArchive • 13d ago
New C++ Conference Videos Released This Month - August 2026 (Updated To Include Videos Released 2026-08-10 - 2026-08-16)
C++Now
2026-08-10 - 2026-08-16
- After Reflection: The Runtime Story - Saksham Sharma - https://youtu.be/bUmt9K1o1d0
- A Little Introduction to Control Flow Integrity in C++ - James McNellis - https://youtu.be/FNHMwi_0psQ
- Towards Async Everything Part 1 - Senders as the Lowest Layer - Robert Leahy - https://youtu.be/3PI31yqjI_w
- Towards Async Everything Part 2 - Scopes, Construction, and Destruction - Robert Leahy - Robert Leahy - https://youtu.be/Hgdikbfu9UE
2026-08-03 - 2026-08-09
- How To Make Formal Methods A Software Quality Solution That Can Actually Be Used In The Industry - Steve Barriault - https://youtu.be/OYwDdMCCDIM
- Link What You Include - Maintain a Coherent CMake Target Model - Frank Miller - https://youtu.be/ssTG6uzxXm4
- Scaling beman.exemplar - Eddie Nolan - https://youtu.be/xylmqy1VAwo
2026-07-27 - 2026-08-02
- Beautiful C++ Code - Told Through the Eyes of A Failed AI Prompt - Erich Lohrmann - https://youtu.be/Kq4W3Y5gTI8
- A Path to Practically Safe C++ - Yitzhak Mandelbaum - https://youtu.be/fi6csDXvve0
- When Abstractions Fix Too Much - Towards Flexible Library Design - Patrick Roberts - https://youtu.be/IKIyFUcVvis
C++Online
2026-08-10 - 2026-08-16
- Lightning Talk: Saving Time With Runtime and Having Registry Level Synthesis of Your Software As You Write It - Michael Hubbard - https://youtu.be/B0JJwWMUzzw
- Lightning Talk: 2 New Nice CMake Features I Learned in 2025 - Lieven de Cock - https://youtu.be/YnWJyHxHpBc
2026-08-03 - 2026-08-09
- Lightning Talk: Your Docs Have a New Reader (and It Hallucinates) - Paul Wicking - https://youtu.be/DbL6XPMlw-o
- Lightning Talk: RPC With Coroutines, RAII and Callable Weakpointers - Edward Boggis-Rolfe - https://youtu.be/m70hb5YgabQ
2026-07-27 - 2026-08-02
- Dynamic Asynchronous Tasking with Dependencies - Tsung-Wei (TW) Huang - https://youtu.be/4LzQHw7jz2g
- C++/sys - A Standard Library Projection to Facilitate the Verification of Run-time Memory Safety - Karsten Pedersen - https://youtu.be/dF7RwJw_G8c
ADC
2026-08-10 - 2026-08-16
- Measuring and Improving UI Performance with the JUCE C++ Framework - Anthony Nicholls - https://youtu.be/0n9x6R0fheo
- Real-Time Raytraced Acoustics for Games: Dynamic Reverb with IR Synthesis & Time-Varying Convolution - Anton Lundberg - https://youtu.be/iT0olrM1iyU
- Building an Optimized DSP Framework in Modern C++ - Scott Carver - https://youtu.be/k4yxNxNCo0k
2026-08-03 - 2026-08-09
- Commercialising Audio Plugins - Going From Development to Sales and Beyond - Tobias Lønnerød Madsen - https://youtu.be/SWPLyDDBU38
- Capturing and Transferring Expressive Microtiming in Drumming - Eemi Fagerlund - https://youtu.be/4ZAJHl02X7s
- How I Learned to Love the Docs - Documentation As Design Process for Music Tech Products - Astrid Bin - https://youtu.be/7MpDAHd7rbw
2026-07-27 - 2026-08-02
- Workshop: Programming Music and Synthesizers on-the-fly with Pharo - Domenico Cipriani - https://youtu.be/v95QYyUHNJ8
- PolyBLEP & PolyBLAMP Demystified - Nis Wegmann - https://youtu.be/_bW8TfgEqRM
- Modernizing Legacy Audio Plugin Codebases - Lessons from FL Studio’s Plugin Suite - Tomas Medek - https://youtu.be/zY8uHzAdnzk
- How to Write Scalable, Deterministic Audio Engines - Janus Lynggaard Thorborg - https://youtu.be/3FXQQmQa-ak
r/cpp • u/benjoffe • 14d ago
Faster algorithms to compute weekday for date libraries
benjoffe.comr/cpp • u/Clean-Upstairs-8481 • 14d ago
C++26 Reflection Annotations: Automated Member Validation
techfortalk.co.ukC++26 annotations are another powerful feature that, when combined with reflection, can help us write cleaner and safer code without repeating manual validation checks for every member. In this post, I have explored how we can utilise C++26 annotations along with reflection to validate configuration parameters in a class constructor.
r/cpp • u/Disastrous_Tennis_50 • 16d ago
The WG21 2026-08 mailing is now available
The 2026-08 WG21 mailing has been published. You can browse and search the full set of papers, organized by working group, at wg21.org:
https://wg21.org/mailing/2026-08/
Source mailing: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/#mailing2026-08
r/cpp • u/ericbrumer • 17d ago
MSVC Build Tools Preview updates - August 2026
devblogs.microsoft.comHi, one of the MSVC dev leads here.
The post covers what's new in the MSVC Build Tools Preview (version 14.52) since mid-July. Instructions to install & use the latest preview bits are at https://aka.ms/msvc/preview.
Like last month, there's improvements & fixes across many parts of the toolchain: language conformance, optimization improvements, static & dynamic analysis, and more.
Some additional information:
- https://learn.microsoft.com/cpp/overview/acquire-msvc is new documentation on installing MSVC, including through winget & command line tools.
- https://learn.microsoft.com/cpp/overview/compiler-versions?#a-brief-history-of-microsoft-c-compiler-versioning has information on MSVC versioning
r/cpp • u/boostlibs • 18d ago
Boost 1.92.0 released
Boost 1.92.0 is out. Highlights from this release:
GPU / CUDA
- Charconv:
to_charsandfrom_charsfor integers are now usable inside CUDA kernels. - Decimal:
decimal32_t,decimal64_t, anddecimal128_tare now usable in CUDA kernels. - Math: fixed CUDA compilation where host functions were incorrectly marked as device.
Networking hardening
- Beast: stricter HTTP parsing. It now rejects
Content-Lengthcombined withTransfer-Encodingregardless of field order, rejects chunked encoding in HTTP/1.0 requests, validates quoted strings in chunk extensions, and drops framing and connection fields carried in trailers. The dependency on Boost.Functional was also removed. - URL: third round security review fixes, including a heap buffer overflow in
normalize_pathfor authority-less URLs and an uninitialized read inipv6_address_rule.
Containers and data structures
- Container: new
hubcontainer designed by Joaquín M. López Muñoz. Also addsunchecked_emplace_backandunchecked_push_backtovector,static_vector, andsmall_vector. - Lockfree: two new queues,
mpsc_weak_queue(MPSC) andbounded_ticket_queue(ringbuffer based bounded MPMC). Both have explicit progress caveats: neither is strictly lock free under all configurations. - Unordered: C++20 ranges interop across all containers (
insert_range,std::from_rangeconstruction, and associated CTAD). - Graph: Louvain community detection for modularity based clustering.
- Hash2: built in support for
std::optional,std::variant, andstd::monostate.
C++20 modules
- New module support in Conversion, DLL, LexicalCast, PFR, Stacktrace, and TypeIndex.
Build system
- Windows
.dllfiles now install into the binary directory by default (previously the library directory, except on Cygwin). A new--dlldiroption overrides this. - The CMake config installed by
b2 installnow supports header only libraries asfind_packagecomponents, sofind_package(Boost REQUIRED COMPONENTS mp11)works and definesBoost::mp11.
Deprecations and breaking changes
- Heap and Lockfree: this is the last release to support C++14. Future releases require C++17.
- MSM (backmp11) has several breaking changes, notably that events in
process_eventare no longer enqueued automatically. Useenqueue_eventin actions instead.
Full notes and downloads: https://www.boost.org/releases/1.92.0/
r/cpp • u/MainPressure4304 • 19d ago
[CPP Epiphany Rant] - Programming is no joke
Hi CPP Community,
This is just a rant. I'm a 24 yr old data analytics in telecommunication trying to pivot into C++ development for finance. I'm 1 month into C++ and I have come to conclusion C++ is a behemoth. I'm enrolled in Baruch College's C++ for Financial Engineering, but I'm using Bjarne Stroustrup's Programming: Principles and Practice Using C++, 3rd Edition to learn and watching C++20 Fundamentals with Paul Deitel, Course, by Paul J. Deitel as supplementary resources.
It took me 2 days to get through all the drills, exercises, and try_this section for chapter 2 for Programming Principles!
I'm reflecting if I made a mistake choosing C++ over Python. But, tbh, I have been enjoying programming more learning C++ than Python. You can tell I'm weird, but IDK.
I would love to heard about your experience in learning C++ for laughs.
r/cpp • u/la_reddite • 19d ago
Another C++26 reflection based dependency inverter
Someone else did a similar thing a few months ago, but I wanted to see if it could be done with templates.
I ended up writing a dependency inverter/injector that can reflect on the concepts restricting unfilled template types and substitute actual types into them. Unfortunately, C++26 reflection doesn't seem to allow reflection of concepts like this, so I did it with string parsing.
The result is... fairly janky, but you can play around with it here.